(0) Obligation:

JBC Problem based on JBC Program:
No human-readable program information known.

Manifest-Version: 1.0 Created-By: 1.6.0_16 (Sun Microsystems Inc.) Main-Class: Count

(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
Graph of 698 nodes with 2 SCCs.

(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph to ITRS rules

(4) Complex Obligation (AND)

(5) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load1265(o831, o830, i130) → NULL1315(o831, o830, i130, o830)
NULL1315(o859, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945))) → Load21911(o859, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), NULL)
Store26273(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o18621, o18622, o18623)), o17126, o17127)), o16604, o18621) → Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(o18621, java.lang.Object(Tree(o18622, o17126, NULL)), NULL)), o16604)
Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o18621, o18622, o18623)), o17126, o17127)), o16604) → Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(o18621, java.lang.Object(Tree(o18622, o17126, NULL)), NULL)), o16604)
Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(NULL, o17126, o17127)), o16604) → Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), o17126, java.lang.Object(Tree(NULL, o16604, NULL)))
Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), o16604) → Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), java.lang.Object(Tree(o17786, java.lang.Object(Tree(o17787, o16607, NULL)), NULL)), o16604)
Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o19480, o19481, o19482)), o17126, o17127)), o16604) → Store26273(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o19480, o19481, o19482)), o17126, o17127)), o16604, o19480)
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), NULL, o16669) → JMP22682(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), o16669, i141)
JMP22682(o16609, o16604, i141) → Load1265(o16609, o16604, i141)
Load21911(o16609, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), NULL, o16604) → Load1265(o16609, o16604, i141)
JMP1675(o859, o944, i184) → Load1265(o859, o944, i184)
NULL1315(o859, java.lang.Object(Tree(NULL, o944, o945)), i141, java.lang.Object(Tree(NULL, o944, o945))) → Load1265(o859, o944, i141 + 1)
NULL1315(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950))) → Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), NULL)
Store26568(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o18773, o18774, o18775)), o17144, o17145)), o16669, o18773) → Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(o18773, java.lang.Object(Tree(o18774, o17144, NULL)), NULL)), o16669)
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o18773, o18774, o18775)), o17144, o17145)), o16669) → Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(o18773, java.lang.Object(Tree(o18774, o17144, NULL)), NULL)), o16669)
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(NULL, o17144, o17145)), o16669) → Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), o17144, java.lang.Object(Tree(NULL, o16669, NULL)))
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), o16669) → Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(o17890, java.lang.Object(Tree(o17891, o16672, NULL)), NULL)), o16669)
NULL1315(java.lang.Object(Tree(NULL, o949, o950)), java.lang.Object(Tree(NULL, o949, o950)), i141, java.lang.Object(Tree(NULL, o949, o950))) → JMP1675(java.lang.Object(Tree(NULL, o949, o950)), o949, i141 + 1)
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o19695, o19696, o19697)), o17144, o17145)), o16669) → Store26568(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o19695, o19696, o19697)), o17144, o17145)), o16669, o19695)
The set Q consists of the following terms:
Load1265(x0, x1, x2)
NULL1315(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), x6, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)))
Store26273(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), x6, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), x6, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), x6, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), x5, java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), x6, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, java.lang.Object(Tree(NULL, x1, x2)), x3, java.lang.Object(Tree(NULL, x1, x2)))
Store26568(java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), x5, java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), x5, java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), x5, java.lang.Object(Tree(java.lang.Object(Tree(x0, x1, x2)), x3, x4)), java.lang.Object(Tree(NULL, x6, x7)), x8)

(6) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

Store26568(x1, x2, x3, x4, x5, x6, x7) → Store26568(x3, x4, x5, x6, x7)
Load22061(x1, x2, x3, x4, x5, x6) → Load22061(x3, x4, x5, x6)
NULL1315(x1, x2, x3, x4) → NULL1315(x1, x3, x4)
Load21911(x1, x2, x3, x4, x5, x6) → Load21911(x1, x3, x4, x5, x6)
Store26273(x1, x2, x3, x4, x5, x6, x7) → Store26273(x1, x3, x4, x5, x6, x7)

(7) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load1265(o831, o830, i130) → NULL1315(o831, i130, o830)
NULL1315(o859, i141, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945))) → Load21911(o859, i141, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), NULL)
Store26273(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o18621, o18622, o18623)), o17126, o17127)), o16604, o18621) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(o18621, java.lang.Object(Tree(o18622, o17126, NULL)), NULL)), o16604)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o18621, o18622, o18623)), o17126, o17127)), o16604) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(o18621, java.lang.Object(Tree(o18622, o17126, NULL)), NULL)), o16604)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(NULL, o17126, o17127)), o16604) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), o17126, java.lang.Object(Tree(NULL, o16604, NULL)))
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), o16604) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), java.lang.Object(Tree(o17786, java.lang.Object(Tree(o17787, o16607, NULL)), NULL)), o16604)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o19480, o19481, o19482)), o17126, o17127)), o16604) → Store26273(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o19480, o19481, o19482)), o17126, o17127)), o16604, o19480)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), NULL, o16669) → JMP22682(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), o16669, i141)
JMP22682(o16609, o16604, i141) → Load1265(o16609, o16604, i141)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), NULL, o16604) → Load1265(o16609, o16604, i141)
JMP1675(o859, o944, i184) → Load1265(o859, o944, i184)
NULL1315(o859, i141, java.lang.Object(Tree(NULL, o944, o945))) → Load1265(o859, o944, i141 + 1)
NULL1315(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950))) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), NULL)
Store26568(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o18773, o18774, o18775)), o17144, o17145)), o16669, o18773) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(o18773, java.lang.Object(Tree(o18774, o17144, NULL)), NULL)), o16669)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o18773, o18774, o18775)), o17144, o17145)), o16669) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(o18773, java.lang.Object(Tree(o18774, o17144, NULL)), NULL)), o16669)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(NULL, o17144, o17145)), o16669) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), o17144, java.lang.Object(Tree(NULL, o16669, NULL)))
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), o16669) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(o17890, java.lang.Object(Tree(o17891, o16672, NULL)), NULL)), o16669)
NULL1315(java.lang.Object(Tree(NULL, o949, o950)), i141, java.lang.Object(Tree(NULL, o949, o950))) → JMP1675(java.lang.Object(Tree(NULL, o949, o950)), o949, i141 + 1)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o19695, o19696, o19697)), o17144, o17145)), o16669) → Store26568(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o19695, o19696, o19697)), o17144, o17145)), o16669, o19695)
The set Q consists of the following terms:
Load1265(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)))
Store26273(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(NULL, x2, x3)))
Store26568(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x6, x7)), x8)

(8) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(9) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
Load1265(o831, o830, i130) → NULL1315(o831, i130, o830)
NULL1315(o859, i141, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945))) → Load21911(o859, i141, java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0, o996Field1, o996Field2)), o944, o945)), NULL)
Store26273(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o18621, o18622, o18623)), o17126, o17127)), o16604, o18621) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(o18621, java.lang.Object(Tree(o18622, o17126, NULL)), NULL)), o16604)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o18621, o18622, o18623)), o17126, o17127)), o16604) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(o18621, java.lang.Object(Tree(o18622, o17126, NULL)), NULL)), o16604)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(NULL, o17126, o17127)), o16604) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), o17126, java.lang.Object(Tree(NULL, o16604, NULL)))
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), o16604) → Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o17786, o17787, o17788)), o16607, o16608)), java.lang.Object(Tree(o17786, java.lang.Object(Tree(o17787, o16607, NULL)), NULL)), o16604)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o19480, o19481, o19482)), o17126, o17127)), o16604) → Store26273(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), java.lang.Object(Tree(java.lang.Object(Tree(o19480, o19481, o19482)), o17126, o17127)), o16604, o19480)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), NULL, o16669) → JMP22682(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), o16669, i141)
JMP22682(o16609, o16604, i141) → Load1265(o16609, o16604, i141)
Load21911(o16609, i141, java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0, o16606Field1, o16606Field2)), o16607, o16608)), NULL, o16604) → Load1265(o16609, o16604, i141)
JMP1675(o859, o944, i184) → Load1265(o859, o944, i184)
NULL1315(o859, i141, java.lang.Object(Tree(NULL, o944, o945))) → Load1265(o859, o944, i141 + 1)
NULL1315(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), i141, java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950))) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0, o1010Field1, o1010Field2)), o949, o950)), NULL)
Store26568(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o18773, o18774, o18775)), o17144, o17145)), o16669, o18773) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(o18773, java.lang.Object(Tree(o18774, o17144, NULL)), NULL)), o16669)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o18773, o18774, o18775)), o17144, o17145)), o16669) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(o18773, java.lang.Object(Tree(o18774, o17144, NULL)), NULL)), o16669)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(NULL, o17144, o17145)), o16669) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), o17144, java.lang.Object(Tree(NULL, o16669, NULL)))
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), o16669) → Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o17890, o17891, o17892)), o16672, o16673)), java.lang.Object(Tree(o17890, java.lang.Object(Tree(o17891, o16672, NULL)), NULL)), o16669)
NULL1315(java.lang.Object(Tree(NULL, o949, o950)), i141, java.lang.Object(Tree(NULL, o949, o950))) → JMP1675(java.lang.Object(Tree(NULL, o949, o950)), o949, i141 + 1)
Load22061(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o19695, o19696, o19697)), o17144, o17145)), o16669) → Store26568(i141, java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0, o16671Field1, o16671Field2)), o16672, o16673)), java.lang.Object(Tree(java.lang.Object(Tree(o19695, o19696, o19697)), o17144, o17145)), o16669, o19695)

The integer pair graph contains the following rules and edges:
(0): LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
(1): NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
(2): STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
(3): LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
(4): LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
(5): LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
(6): LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
(7): LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
(8): JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
(9): LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
(10): JMP1675'(o859[10], o944[10], i184[10]) → LOAD1265(o859[10], o944[10], i184[10])
(11): NULL1315'(o859[11], i141[11], java.lang.Object(Tree(NULL, o944[11], o945[11]))) → LOAD1265(o859[11], o944[11], i141[11] + 1)
(12): NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
(13): STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
(14): LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
(15): LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
(16): LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
(17): NULL1315'(java.lang.Object(Tree(NULL, o949[17], o950[17])), i141[17], java.lang.Object(Tree(NULL, o949[17], o950[17]))) → JMP1675'(java.lang.Object(Tree(NULL, o949[17], o950[17])), o949[17], i141[17] + 1)
(18): LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

(0) -> (1), if ((o830[0]* java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])))∧(o831[0]* o859[1])∧(i130[0]* i141[1]))


(0) -> (11), if ((o831[0]* o859[11])∧(o830[0]* java.lang.Object(Tree(NULL, o944[11], o945[11])))∧(i130[0]* i141[11]))


(0) -> (12), if ((o830[0]* java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])))∧(i130[0]* i141[12])∧(o831[0]* java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))))


(0) -> (17), if ((i130[0]* i141[17])∧(o830[0]* java.lang.Object(Tree(NULL, o949[17], o950[17])))∧(o831[0]* java.lang.Object(Tree(NULL, o949[17], o950[17]))))


(1) -> (3), if ((i141[1]* i141[3])∧(NULL* o16604[3])∧(o859[1]* o16609[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3]))))


(1) -> (4), if ((java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4])))∧(NULL* o16604[4])∧(o859[1]* o16609[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])))∧(i141[1]* i141[4]))


(1) -> (5), if ((i141[1]* i141[5])∧(o859[1]* o16609[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(NULL* o16604[5]))


(1) -> (6), if ((NULL* o16604[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(o859[1]* o16609[6])∧(i141[1]* i141[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6]))))


(1) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(o859[1]* o16609[9])∧(NULL* o16604[9])∧(i141[1]* i141[9]))


(2) -> (3), if ((o16609[2]* o16609[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])))∧(i141[2]* i141[3])∧(o16604[2]* o16604[3]))


(2) -> (4), if ((o16604[2]* o16604[4])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])))∧(o16609[2]* o16609[4])∧(i141[2]* i141[4]))


(2) -> (5), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(o16609[2]* o16609[5])∧(o16604[2]* o16604[5])∧(i141[2]* i141[5])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5]))))


(2) -> (6), if ((o16609[2]* o16609[6])∧(o16604[2]* o16604[6])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])))∧(i141[2]* i141[6]))


(2) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(o16609[2]* o16609[9])∧(i141[2]* i141[9])∧(o16604[2]* o16604[9])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* NULL))


(3) -> (3), if ((java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3]', o18622[3]', o18623[3]')), o17126[3]', o17127[3]')))∧(o16609[3]* o16609[3]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3]', o16606Field1[3]', o16606Field2[3]')), o16607[3]', o16608[3]')))∧(i141[3]* i141[3]')∧(o16604[3]* o16604[3]'))


(3) -> (4), if ((o16609[3]* o16609[4])∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4])))∧(i141[3]* i141[4])∧(o16604[3]* o16604[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4]))))


(3) -> (5), if ((o16604[3]* o16604[5])∧(i141[3]* i141[5])∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(o16609[3]* o16609[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5]))))


(3) -> (6), if ((o16609[3]* o16609[6])∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(i141[3]* i141[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])))∧(o16604[3]* o16604[6]))


(3) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* NULL)∧(o16604[3]* o16604[9])∧(o16609[3]* o16609[9])∧(i141[3]* i141[9]))


(4) -> (3), if ((i141[4]* i141[3])∧(o16609[4]* o16609[3])∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3]))))


(4) -> (4), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4]', o16606Field1[4]', o16606Field2[4]')), o16607[4]', o16608[4]')))∧(o17126[4]* java.lang.Object(Tree(NULL, o17126[4]', o17127[4]')))∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[4]')∧(i141[4]* i141[4]')∧(o16609[4]* o16609[4]'))


(4) -> (5), if ((java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[5])∧(i141[4]* i141[5])∧(o16609[4]* o16609[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5]))))


(4) -> (6), if ((i141[4]* i141[6])∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])))∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[6])∧(o16609[4]* o16609[6]))


(4) -> (9), if ((java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[9])∧(o17126[4]* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(i141[4]* i141[9])∧(o16609[4]* o16609[9]))


(5) -> (3), if ((java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])))∧(o16609[5]* o16609[3])∧(o16604[5]* o16604[3])∧(i141[5]* i141[3]))


(5) -> (4), if ((i141[5]* i141[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])))∧(o16609[5]* o16609[4])∧(o16604[5]* o16604[4])∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4]))))


(5) -> (5), if ((o16609[5]* o16609[5]')∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5]', o17787[5]', o17788[5]')), o16607[5]', o16608[5]')))∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5]', o17787[5]', o17788[5]')), o16607[5]', o16608[5]')))∧(i141[5]* i141[5]')∧(o16604[5]* o16604[5]'))


(5) -> (6), if ((o16609[5]* o16609[6])∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(i141[5]* i141[6])∧(o16604[5]* o16604[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6]))))


(5) -> (9), if ((o16604[5]* o16604[9])∧(o16609[5]* o16609[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* NULL)∧(i141[5]* i141[9]))


(6) -> (2), if ((o16609[6]* o16609[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])))∧(o16604[6]* o16604[2])∧(i141[6]* i141[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])))∧(o19480[6]* o18621[2]))


(7) -> (8), if ((o16669[7]* o16604[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])) →* o16609[8])∧(i141[7]* i141[8]))


(8) -> (0), if ((o16604[8]* o830[0])∧(o16609[8]* o831[0])∧(i141[8]* i130[0]))


(9) -> (0), if ((o16604[9]* o830[0])∧(o16609[9]* o831[0])∧(i141[9]* i130[0]))


(10) -> (0), if ((i184[10]* i130[0])∧(o944[10]* o830[0])∧(o859[10]* o831[0]))


(11) -> (0), if ((i141[11] + 1* i130[0])∧(o944[11]* o830[0])∧(o859[11]* o831[0]))


(12) -> (7), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* NULL)∧(NULL* o16669[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(i141[12]* i141[7]))


(12) -> (14), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(NULL* o16669[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])))∧(i141[12]* i141[14]))


(12) -> (15), if ((NULL* o16669[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])))∧(i141[12]* i141[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15]))))


(12) -> (16), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[12]* i141[16])∧(NULL* o16669[16]))


(12) -> (18), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(i141[12]* i141[18])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])))∧(NULL* o16669[18]))


(13) -> (7), if ((o16669[13]* o16669[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* NULL)∧(i141[13]* i141[7]))


(13) -> (14), if ((i141[13]* i141[14])∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(o16669[13]* o16669[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14]))))


(13) -> (15), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])))∧(o16669[13]* o16669[15])∧(i141[13]* i141[15])∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15]))))


(13) -> (16), if ((java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[13]* i141[16])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(o16669[13]* o16669[16]))


(13) -> (18), if ((i141[13]* i141[18])∧(o16669[13]* o16669[18])∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18]))))


(14) -> (7), if ((o16669[14]* o16669[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* NULL)∧(i141[14]* i141[7]))


(14) -> (14), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14]', o16671Field1[14]', o16671Field2[14]')), o16672[14]', o16673[14]')))∧(o16669[14]* o16669[14]')∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14]', o18774[14]', o18775[14]')), o17144[14]', o17145[14]')))∧(i141[14]* i141[14]'))


(14) -> (15), if ((o16669[14]* o16669[15])∧(i141[14]* i141[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])))∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15]))))


(14) -> (16), if ((o16669[14]* o16669[16])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[14]* i141[16]))


(14) -> (18), if ((i141[14]* i141[18])∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(o16669[14]* o16669[18])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18]))))


(15) -> (7), if ((o17144[15]* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[7])∧(i141[15]* i141[7]))


(15) -> (14), if ((o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[14])∧(i141[15]* i141[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14]))))


(15) -> (15), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15]', o16671Field1[15]', o16671Field2[15]')), o16672[15]', o16673[15]')))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[15]')∧(o17144[15]* java.lang.Object(Tree(NULL, o17144[15]', o17145[15]')))∧(i141[15]* i141[15]'))


(15) -> (16), if ((java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[16])∧(o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[15]* i141[16]))


(15) -> (18), if ((i141[15]* i141[18])∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[18])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])))∧(o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18]))))


(16) -> (7), if ((java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* NULL)∧(i141[16]* i141[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(o16669[16]* o16669[7]))


(16) -> (14), if ((java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])))∧(java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(o16669[16]* o16669[14])∧(i141[16]* i141[14]))


(16) -> (15), if ((i141[16]* i141[15])∧(java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15])))∧(o16669[16]* o16669[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15]))))


(16) -> (16), if ((java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16]', o17891[16]', o17892[16]')), o16672[16]', o16673[16]')))∧(java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16]', o17891[16]', o17892[16]')), o16672[16]', o16673[16]')))∧(o16669[16]* o16669[16]')∧(i141[16]* i141[16]'))


(16) -> (18), if ((java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])))∧(java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(i141[16]* i141[18])∧(o16669[16]* o16669[18]))


(17) -> (10), if ((java.lang.Object(Tree(NULL, o949[17], o950[17])) →* o859[10])∧(o949[17]* o944[10])∧(i141[17] + 1* i184[10]))


(18) -> (13), if ((o19695[18]* o18773[13])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])))∧(i141[18]* i141[13])∧(o16669[18]* o16669[13])∧(java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13]))))



The set Q consists of the following terms:
Load1265(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)))
Store26273(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(NULL, x2, x3)))
Store26568(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x6, x7)), x8)

(10) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(11) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
(1): NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
(2): STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
(3): LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
(4): LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
(5): LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
(6): LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
(7): LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
(8): JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
(9): LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
(10): JMP1675'(o859[10], o944[10], i184[10]) → LOAD1265(o859[10], o944[10], i184[10])
(11): NULL1315'(o859[11], i141[11], java.lang.Object(Tree(NULL, o944[11], o945[11]))) → LOAD1265(o859[11], o944[11], i141[11] + 1)
(12): NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
(13): STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
(14): LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
(15): LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
(16): LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
(17): NULL1315'(java.lang.Object(Tree(NULL, o949[17], o950[17])), i141[17], java.lang.Object(Tree(NULL, o949[17], o950[17]))) → JMP1675'(java.lang.Object(Tree(NULL, o949[17], o950[17])), o949[17], i141[17] + 1)
(18): LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

(0) -> (1), if ((o830[0]* java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])))∧(o831[0]* o859[1])∧(i130[0]* i141[1]))


(0) -> (11), if ((o831[0]* o859[11])∧(o830[0]* java.lang.Object(Tree(NULL, o944[11], o945[11])))∧(i130[0]* i141[11]))


(0) -> (12), if ((o830[0]* java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])))∧(i130[0]* i141[12])∧(o831[0]* java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))))


(0) -> (17), if ((i130[0]* i141[17])∧(o830[0]* java.lang.Object(Tree(NULL, o949[17], o950[17])))∧(o831[0]* java.lang.Object(Tree(NULL, o949[17], o950[17]))))


(1) -> (3), if ((i141[1]* i141[3])∧(NULL* o16604[3])∧(o859[1]* o16609[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3]))))


(1) -> (4), if ((java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4])))∧(NULL* o16604[4])∧(o859[1]* o16609[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])))∧(i141[1]* i141[4]))


(1) -> (5), if ((i141[1]* i141[5])∧(o859[1]* o16609[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(NULL* o16604[5]))


(1) -> (6), if ((NULL* o16604[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(o859[1]* o16609[6])∧(i141[1]* i141[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6]))))


(1) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(o859[1]* o16609[9])∧(NULL* o16604[9])∧(i141[1]* i141[9]))


(2) -> (3), if ((o16609[2]* o16609[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])))∧(i141[2]* i141[3])∧(o16604[2]* o16604[3]))


(2) -> (4), if ((o16604[2]* o16604[4])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])))∧(o16609[2]* o16609[4])∧(i141[2]* i141[4]))


(2) -> (5), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(o16609[2]* o16609[5])∧(o16604[2]* o16604[5])∧(i141[2]* i141[5])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5]))))


(2) -> (6), if ((o16609[2]* o16609[6])∧(o16604[2]* o16604[6])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])))∧(i141[2]* i141[6]))


(2) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(o16609[2]* o16609[9])∧(i141[2]* i141[9])∧(o16604[2]* o16604[9])∧(java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)) →* NULL))


(3) -> (3), if ((java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3]', o18622[3]', o18623[3]')), o17126[3]', o17127[3]')))∧(o16609[3]* o16609[3]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3]', o16606Field1[3]', o16606Field2[3]')), o16607[3]', o16608[3]')))∧(i141[3]* i141[3]')∧(o16604[3]* o16604[3]'))


(3) -> (4), if ((o16609[3]* o16609[4])∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4])))∧(i141[3]* i141[4])∧(o16604[3]* o16604[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4]))))


(3) -> (5), if ((o16604[3]* o16604[5])∧(i141[3]* i141[5])∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(o16609[3]* o16609[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5]))))


(3) -> (6), if ((o16609[3]* o16609[6])∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(i141[3]* i141[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])))∧(o16604[3]* o16604[6]))


(3) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)) →* NULL)∧(o16604[3]* o16604[9])∧(o16609[3]* o16609[9])∧(i141[3]* i141[9]))


(4) -> (3), if ((i141[4]* i141[3])∧(o16609[4]* o16609[3])∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3]))))


(4) -> (4), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4]', o16606Field1[4]', o16606Field2[4]')), o16607[4]', o16608[4]')))∧(o17126[4]* java.lang.Object(Tree(NULL, o17126[4]', o17127[4]')))∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[4]')∧(i141[4]* i141[4]')∧(o16609[4]* o16609[4]'))


(4) -> (5), if ((java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[5])∧(i141[4]* i141[5])∧(o16609[4]* o16609[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])))∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5]))))


(4) -> (6), if ((i141[4]* i141[6])∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])))∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[6])∧(o16609[4]* o16609[6]))


(4) -> (9), if ((java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[9])∧(o17126[4]* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(i141[4]* i141[9])∧(o16609[4]* o16609[9]))


(5) -> (3), if ((java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])))∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])))∧(o16609[5]* o16609[3])∧(o16604[5]* o16604[3])∧(i141[5]* i141[3]))


(5) -> (4), if ((i141[5]* i141[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])))∧(o16609[5]* o16609[4])∧(o16604[5]* o16604[4])∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17126[4], o17127[4]))))


(5) -> (5), if ((o16609[5]* o16609[5]')∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5]', o17787[5]', o17788[5]')), o16607[5]', o16608[5]')))∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5]', o17787[5]', o17788[5]')), o16607[5]', o16608[5]')))∧(i141[5]* i141[5]')∧(o16604[5]* o16604[5]'))


(5) -> (6), if ((o16609[5]* o16609[6])∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧(i141[5]* i141[6])∧(o16604[5]* o16604[6])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6]))))


(5) -> (9), if ((o16604[5]* o16604[9])∧(o16609[5]* o16609[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])))∧(java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)) →* NULL)∧(i141[5]* i141[9]))


(6) -> (2), if ((o16609[6]* o16609[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])))∧(o16604[6]* o16604[2])∧(i141[6]* i141[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])))∧(o19480[6]* o18621[2]))


(7) -> (8), if ((o16669[7]* o16604[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])) →* o16609[8])∧(i141[7]* i141[8]))


(8) -> (0), if ((o16604[8]* o830[0])∧(o16609[8]* o831[0])∧(i141[8]* i130[0]))


(9) -> (0), if ((o16604[9]* o830[0])∧(o16609[9]* o831[0])∧(i141[9]* i130[0]))


(10) -> (0), if ((i184[10]* i130[0])∧(o944[10]* o830[0])∧(o859[10]* o831[0]))


(11) -> (0), if ((i141[11] + 1* i130[0])∧(o944[11]* o830[0])∧(o859[11]* o831[0]))


(12) -> (7), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* NULL)∧(NULL* o16669[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(i141[12]* i141[7]))


(12) -> (14), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(NULL* o16669[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])))∧(i141[12]* i141[14]))


(12) -> (15), if ((NULL* o16669[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])))∧(i141[12]* i141[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15]))))


(12) -> (16), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[12]* i141[16])∧(NULL* o16669[16]))


(12) -> (18), if ((java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(i141[12]* i141[18])∧(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])))∧(NULL* o16669[18]))


(13) -> (7), if ((o16669[13]* o16669[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* NULL)∧(i141[13]* i141[7]))


(13) -> (14), if ((i141[13]* i141[14])∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(o16669[13]* o16669[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14]))))


(13) -> (15), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])))∧(o16669[13]* o16669[15])∧(i141[13]* i141[15])∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15]))))


(13) -> (16), if ((java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[13]* i141[16])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(o16669[13]* o16669[16]))


(13) -> (18), if ((i141[13]* i141[18])∧(o16669[13]* o16669[18])∧(java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18]))))


(14) -> (7), if ((o16669[14]* o16669[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* NULL)∧(i141[14]* i141[7]))


(14) -> (14), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14]', o16671Field1[14]', o16671Field2[14]')), o16672[14]', o16673[14]')))∧(o16669[14]* o16669[14]')∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14]', o18774[14]', o18775[14]')), o17144[14]', o17145[14]')))∧(i141[14]* i141[14]'))


(14) -> (15), if ((o16669[14]* o16669[15])∧(i141[14]* i141[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])))∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15]))))


(14) -> (16), if ((o16669[14]* o16669[16])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[14]* i141[16]))


(14) -> (18), if ((i141[14]* i141[18])∧(java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(o16669[14]* o16669[18])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18]))))


(15) -> (7), if ((o17144[15]* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[7])∧(i141[15]* i141[7]))


(15) -> (14), if ((o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[14])∧(i141[15]* i141[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14]))))


(15) -> (15), if ((java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15]', o16671Field1[15]', o16671Field2[15]')), o16672[15]', o16673[15]')))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[15]')∧(o17144[15]* java.lang.Object(Tree(NULL, o17144[15]', o17145[15]')))∧(i141[15]* i141[15]'))


(15) -> (16), if ((java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[16])∧(o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧(i141[15]* i141[16]))


(15) -> (18), if ((i141[15]* i141[18])∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[18])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])))∧(o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18]))))


(16) -> (7), if ((java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* NULL)∧(i141[16]* i141[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])))∧(o16669[16]* o16669[7]))


(16) -> (14), if ((java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])))∧(java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(o16669[16]* o16669[14])∧(i141[16]* i141[14]))


(16) -> (15), if ((i141[16]* i141[15])∧(java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(NULL, o17144[15], o17145[15])))∧(o16669[16]* o16669[15])∧(java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15]))))


(16) -> (16), if ((java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16]', o17891[16]', o17892[16]')), o16672[16]', o16673[16]')))∧(java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16]', o17891[16]', o17892[16]')), o16672[16]', o16673[16]')))∧(o16669[16]* o16669[16]')∧(i141[16]* i141[16]'))


(16) -> (18), if ((java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])))∧(java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)) →* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])))∧(i141[16]* i141[18])∧(o16669[16]* o16669[18]))


(17) -> (10), if ((java.lang.Object(Tree(NULL, o949[17], o950[17])) →* o859[10])∧(o949[17]* o944[10])∧(i141[17] + 1* i184[10]))


(18) -> (13), if ((o19695[18]* o18773[13])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])))∧(i141[18]* i141[13])∧(o16669[18]* o16669[13])∧(java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13]))))



The set Q consists of the following terms:
Load1265(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)))
Store26273(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(NULL, x2, x3)))
Store26568(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x6, x7)), x8)

(12) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(13) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
(1): NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
(2): STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
(3): LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
(4): LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
(5): LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
(6): LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
(7): LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
(8): JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
(9): LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
(10): JMP1675'(o859[10], o944[10], i184[10]) → LOAD1265(o859[10], o944[10], i184[10])
(11): NULL1315'(o859[11], i141[11], java.lang.Object(Tree(NULL, o944[11], o945[11]))) → LOAD1265(o859[11], o944[11], i141[11] + 1)
(12): NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
(13): STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
(14): LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
(15): LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
(16): LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
(17): NULL1315'(java.lang.Object(Tree(NULL, o949[17], o950[17])), i141[17], java.lang.Object(Tree(NULL, o949[17], o950[17]))) → JMP1675'(java.lang.Object(Tree(NULL, o949[17], o950[17])), o949[17], i141[17] + 1)
(18): LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

(0) -> (1), if ((o830[0]* java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])))∧(o831[0]* o859[1])∧(i130[0]* i141[1]))


(0) -> (11), if ((o831[0]* o859[11])∧(o830[0]* java.lang.Object(Tree(NULL, o944[11], o945[11])))∧(i130[0]* i141[11]))


(0) -> (12), if ((o830[0]* java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])))∧(i130[0]* i141[12])∧(o831[0]* java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))))


(0) -> (17), if ((i130[0]* i141[17])∧(o830[0]* java.lang.Object(Tree(NULL, o949[17], o950[17])))∧(o831[0]* java.lang.Object(Tree(NULL, o949[17], o950[17]))))


(7) -> (8), if ((o16669[7]* o16604[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])) →* o16609[8])∧(i141[7]* i141[8]))


(8) -> (0), if ((o16604[8]* o830[0])∧(o16609[8]* o831[0])∧(i141[8]* i130[0]))


(9) -> (0), if ((o16604[9]* o830[0])∧(o16609[9]* o831[0])∧(i141[9]* i130[0]))


(10) -> (0), if ((i184[10]* i130[0])∧(o944[10]* o830[0])∧(o859[10]* o831[0]))


(11) -> (0), if ((i141[11] + 1* i130[0])∧(o944[11]* o830[0])∧(o859[11]* o831[0]))


(17) -> (10), if ((java.lang.Object(Tree(NULL, o949[17], o950[17])) →* o859[10])∧(o949[17]* o944[10])∧(i141[17] + 1* i184[10]))


(1) -> (3), if ((i141[1]* i141[3])∧(NULL* o16604[3])∧(o859[1]* o16609[3])∧((o996Field0[1]* o16606Field0[3])∧(o996Field1[1]* o16606Field1[3])∧(o996Field2[1]* o16606Field2[3])∧(o944[1]* o16607[3])∧(o945[1]* o16608[3]))∧((o996Field0[1]* o18621[3])∧(o996Field1[1]* o18622[3])∧(o996Field2[1]* o18623[3])∧(o944[1]* o17126[3])∧(o945[1]* o17127[3])))


(1) -> (4), if (false∧(NULL* o16604[4])∧(o859[1]* o16609[4])∧((o996Field0[1]* o16606Field0[4])∧(o996Field1[1]* o16606Field1[4])∧(o996Field2[1]* o16606Field2[4])∧(o944[1]* o16607[4])∧(o945[1]* o16608[4]))∧(i141[1]* i141[4]))


(1) -> (5), if ((i141[1]* i141[5])∧(o859[1]* o16609[5])∧((o996Field0[1]* o17786[5])∧(o996Field1[1]* o17787[5])∧(o996Field2[1]* o17788[5])∧(o944[1]* o16607[5])∧(o945[1]* o16608[5]))∧(NULL* o16604[5]))


(1) -> (6), if ((NULL* o16604[6])∧((o996Field0[1]* o19480[6])∧(o996Field1[1]* o19481[6])∧(o996Field2[1]* o19482[6])∧(o944[1]* o17126[6])∧(o945[1]* o17127[6]))∧(o859[1]* o16609[6])∧(i141[1]* i141[6])∧((o996Field0[1]* o16606Field0[6])∧(o996Field1[1]* o16606Field1[6])∧(o996Field2[1]* o16606Field2[6])∧(o944[1]* o16607[6])∧(o945[1]* o16608[6])))


(1) -> (9), if (false∧((o996Field0[1]* o16606Field0[9])∧(o996Field1[1]* o16606Field1[9])∧(o996Field2[1]* o16606Field2[9])∧(o944[1]* o16607[9])∧(o945[1]* o16608[9]))∧(o859[1]* o16609[9])∧(NULL* o16604[9])∧(i141[1]* i141[9]))


(2) -> (3), if ((o16609[2]* o16609[3])∧((o16606Field0[2]* o16606Field0[3])∧(o16606Field1[2]* o16606Field1[3])∧(o16606Field2[2]* o16606Field2[3])∧(o16607[2]* o16607[3])∧(o16608[2]* o16608[3]))∧((o18621[2]* java.lang.Object(Tree(o18621[3], o18622[3], o18623[3]))))∧(i141[2]* i141[3])∧(o16604[2]* o16604[3]))


(2) -> (4), if ((o16604[2]* o16604[4])∧((o18621[2]* NULL))∧((o16606Field0[2]* o16606Field0[4])∧(o16606Field1[2]* o16606Field1[4])∧(o16606Field2[2]* o16606Field2[4])∧(o16607[2]* o16607[4])∧(o16608[2]* o16608[4]))∧(o16609[2]* o16609[4])∧(i141[2]* i141[4]))


(2) -> (5), if (((o16606Field0[2]* o17786[5])∧(o16606Field1[2]* o17787[5])∧(o16606Field2[2]* o17788[5])∧(o16607[2]* o16607[5])∧(o16608[2]* o16608[5]))∧(o16609[2]* o16609[5])∧(o16604[2]* o16604[5])∧(i141[2]* i141[5])∧((o18621[2]* java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])))))


(2) -> (6), if ((o16609[2]* o16609[6])∧(o16604[2]* o16604[6])∧((o18621[2]* java.lang.Object(Tree(o19480[6], o19481[6], o19482[6]))))∧((o16606Field0[2]* o16606Field0[6])∧(o16606Field1[2]* o16606Field1[6])∧(o16606Field2[2]* o16606Field2[6])∧(o16607[2]* o16607[6])∧(o16608[2]* o16608[6]))∧(i141[2]* i141[6]))


(2) -> (9), if (((o16606Field0[2]* o16606Field0[9])∧(o16606Field1[2]* o16606Field1[9])∧(o16606Field2[2]* o16606Field2[9])∧(o16607[2]* o16607[9])∧(o16608[2]* o16608[9]))∧(o16609[2]* o16609[9])∧(i141[2]* i141[9])∧(o16604[2]* o16604[9])∧false)


(3) -> (3), if (((o18621[3]* java.lang.Object(Tree(o18621[3]', o18622[3]', o18623[3]'))))∧(o16609[3]* o16609[3]')∧((o16606Field0[3]* o16606Field0[3]')∧(o16606Field1[3]* o16606Field1[3]')∧(o16606Field2[3]* o16606Field2[3]')∧(o16607[3]* o16607[3]')∧(o16608[3]* o16608[3]'))∧(i141[3]* i141[3]')∧(o16604[3]* o16604[3]'))


(3) -> (4), if ((o16609[3]* o16609[4])∧((o18621[3]* NULL))∧(i141[3]* i141[4])∧(o16604[3]* o16604[4])∧((o16606Field0[3]* o16606Field0[4])∧(o16606Field1[3]* o16606Field1[4])∧(o16606Field2[3]* o16606Field2[4])∧(o16607[3]* o16607[4])∧(o16608[3]* o16608[4])))


(3) -> (5), if ((o16604[3]* o16604[5])∧(i141[3]* i141[5])∧((o18621[3]* java.lang.Object(Tree(o17786[5], o17787[5], o17788[5]))))∧(o16609[3]* o16609[5])∧((o16606Field0[3]* o17786[5])∧(o16606Field1[3]* o17787[5])∧(o16606Field2[3]* o17788[5])∧(o16607[3]* o16607[5])∧(o16608[3]* o16608[5])))


(3) -> (6), if ((o16609[3]* o16609[6])∧((o18621[3]* java.lang.Object(Tree(o19480[6], o19481[6], o19482[6]))))∧(i141[3]* i141[6])∧((o16606Field0[3]* o16606Field0[6])∧(o16606Field1[3]* o16606Field1[6])∧(o16606Field2[3]* o16606Field2[6])∧(o16607[3]* o16607[6])∧(o16608[3]* o16608[6]))∧(o16604[3]* o16604[6]))


(3) -> (9), if (((o16606Field0[3]* o16606Field0[9])∧(o16606Field1[3]* o16606Field1[9])∧(o16606Field2[3]* o16606Field2[9])∧(o16607[3]* o16607[9])∧(o16608[3]* o16608[9]))∧false∧(o16604[3]* o16604[9])∧(o16609[3]* o16609[9])∧(i141[3]* i141[9]))


(4) -> (3), if ((i141[4]* i141[3])∧(o16609[4]* o16609[3])∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[3])∧((o16606Field0[4]* o16606Field0[3])∧(o16606Field1[4]* o16606Field1[3])∧(o16606Field2[4]* o16606Field2[3])∧(o16607[4]* o16607[3])∧(o16608[4]* o16608[3]))∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3]))))


(4) -> (4), if (((o16606Field0[4]* o16606Field0[4]')∧(o16606Field1[4]* o16606Field1[4]')∧(o16606Field2[4]* o16606Field2[4]')∧(o16607[4]* o16607[4]')∧(o16608[4]* o16608[4]'))∧(o17126[4]* java.lang.Object(Tree(NULL, o17126[4]', o17127[4]')))∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[4]')∧(i141[4]* i141[4]')∧(o16609[4]* o16609[4]'))


(4) -> (5), if ((java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[5])∧(i141[4]* i141[5])∧(o16609[4]* o16609[5])∧((o16606Field0[4]* o17786[5])∧(o16606Field1[4]* o17787[5])∧(o16606Field2[4]* o17788[5])∧(o16607[4]* o16607[5])∧(o16608[4]* o16608[5]))∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5]))))


(4) -> (6), if ((i141[4]* i141[6])∧(o17126[4]* java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])))∧((o16606Field0[4]* o16606Field0[6])∧(o16606Field1[4]* o16606Field1[6])∧(o16606Field2[4]* o16606Field2[6])∧(o16607[4]* o16607[6])∧(o16608[4]* o16608[6]))∧(java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[6])∧(o16609[4]* o16609[6]))


(4) -> (9), if ((java.lang.Object(Tree(NULL, o16604[4], NULL)) →* o16604[9])∧(o17126[4]* NULL)∧((o16606Field0[4]* o16606Field0[9])∧(o16606Field1[4]* o16606Field1[9])∧(o16606Field2[4]* o16606Field2[9])∧(o16607[4]* o16607[9])∧(o16608[4]* o16608[9]))∧(i141[4]* i141[9])∧(o16609[4]* o16609[9]))


(5) -> (3), if (((o17786[5]* o16606Field0[3])∧(o17787[5]* o16606Field1[3])∧(o17788[5]* o16606Field2[3])∧(o16607[5]* o16607[3])∧(o16608[5]* o16608[3]))∧((o17786[5]* java.lang.Object(Tree(o18621[3], o18622[3], o18623[3]))))∧(o16609[5]* o16609[3])∧(o16604[5]* o16604[3])∧(i141[5]* i141[3]))


(5) -> (4), if ((i141[5]* i141[4])∧((o17786[5]* o16606Field0[4])∧(o17787[5]* o16606Field1[4])∧(o17788[5]* o16606Field2[4])∧(o16607[5]* o16607[4])∧(o16608[5]* o16608[4]))∧(o16609[5]* o16609[4])∧(o16604[5]* o16604[4])∧((o17786[5]* NULL)))


(5) -> (5), if ((o16609[5]* o16609[5]')∧((o17786[5]* java.lang.Object(Tree(o17786[5]', o17787[5]', o17788[5]'))))∧((o17786[5]* o17786[5]')∧(o17787[5]* o17787[5]')∧(o17788[5]* o17788[5]')∧(o16607[5]* o16607[5]')∧(o16608[5]* o16608[5]'))∧(i141[5]* i141[5]')∧(o16604[5]* o16604[5]'))


(5) -> (6), if ((o16609[5]* o16609[6])∧((o17786[5]* java.lang.Object(Tree(o19480[6], o19481[6], o19482[6]))))∧(i141[5]* i141[6])∧(o16604[5]* o16604[6])∧((o17786[5]* o16606Field0[6])∧(o17787[5]* o16606Field1[6])∧(o17788[5]* o16606Field2[6])∧(o16607[5]* o16607[6])∧(o16608[5]* o16608[6])))


(5) -> (9), if ((o16604[5]* o16604[9])∧(o16609[5]* o16609[9])∧((o17786[5]* o16606Field0[9])∧(o17787[5]* o16606Field1[9])∧(o17788[5]* o16606Field2[9])∧(o16607[5]* o16607[9])∧(o16608[5]* o16608[9]))∧false∧(i141[5]* i141[9]))


(6) -> (2), if ((o16609[6]* o16609[2])∧((o19480[6]* o18621[2])∧(o19481[6]* o18622[2])∧(o19482[6]* o18623[2])∧(o17126[6]* o17126[2])∧(o17127[6]* o17127[2]))∧(o16604[6]* o16604[2])∧(i141[6]* i141[2])∧((o16606Field0[6]* o16606Field0[2])∧(o16606Field1[6]* o16606Field1[2])∧(o16606Field2[6]* o16606Field2[2])∧(o16607[6]* o16607[2])∧(o16608[6]* o16608[2]))∧(o19480[6]* o18621[2]))


(12) -> (7), if (false∧(NULL* o16669[7])∧((o1010Field0[12]* o16671Field0[7])∧(o1010Field1[12]* o16671Field1[7])∧(o1010Field2[12]* o16671Field2[7])∧(o949[12]* o16672[7])∧(o950[12]* o16673[7]))∧(i141[12]* i141[7]))


(12) -> (14), if (((o1010Field0[12]* o18773[14])∧(o1010Field1[12]* o18774[14])∧(o1010Field2[12]* o18775[14])∧(o949[12]* o17144[14])∧(o950[12]* o17145[14]))∧(NULL* o16669[14])∧((o1010Field0[12]* o16671Field0[14])∧(o1010Field1[12]* o16671Field1[14])∧(o1010Field2[12]* o16671Field2[14])∧(o949[12]* o16672[14])∧(o950[12]* o16673[14]))∧(i141[12]* i141[14]))


(12) -> (15), if ((NULL* o16669[15])∧((o1010Field0[12]* o16671Field0[15])∧(o1010Field1[12]* o16671Field1[15])∧(o1010Field2[12]* o16671Field2[15])∧(o949[12]* o16672[15])∧(o950[12]* o16673[15]))∧(i141[12]* i141[15])∧false)


(12) -> (16), if (((o1010Field0[12]* o17890[16])∧(o1010Field1[12]* o17891[16])∧(o1010Field2[12]* o17892[16])∧(o949[12]* o16672[16])∧(o950[12]* o16673[16]))∧(i141[12]* i141[16])∧(NULL* o16669[16]))


(12) -> (18), if (((o1010Field0[12]* o19695[18])∧(o1010Field1[12]* o19696[18])∧(o1010Field2[12]* o19697[18])∧(o949[12]* o17144[18])∧(o950[12]* o17145[18]))∧(i141[12]* i141[18])∧((o1010Field0[12]* o16671Field0[18])∧(o1010Field1[12]* o16671Field1[18])∧(o1010Field2[12]* o16671Field2[18])∧(o949[12]* o16672[18])∧(o950[12]* o16673[18]))∧(NULL* o16669[18]))


(13) -> (7), if ((o16669[13]* o16669[7])∧((o16671Field0[13]* o16671Field0[7])∧(o16671Field1[13]* o16671Field1[7])∧(o16671Field2[13]* o16671Field2[7])∧(o16672[13]* o16672[7])∧(o16673[13]* o16673[7]))∧false∧(i141[13]* i141[7]))


(13) -> (14), if ((i141[13]* i141[14])∧((o18773[13]* java.lang.Object(Tree(o18773[14], o18774[14], o18775[14]))))∧(o16669[13]* o16669[14])∧((o16671Field0[13]* o16671Field0[14])∧(o16671Field1[13]* o16671Field1[14])∧(o16671Field2[13]* o16671Field2[14])∧(o16672[13]* o16672[14])∧(o16673[13]* o16673[14])))


(13) -> (15), if (((o16671Field0[13]* o16671Field0[15])∧(o16671Field1[13]* o16671Field1[15])∧(o16671Field2[13]* o16671Field2[15])∧(o16672[13]* o16672[15])∧(o16673[13]* o16673[15]))∧(o16669[13]* o16669[15])∧(i141[13]* i141[15])∧((o18773[13]* NULL)))


(13) -> (16), if (((o18773[13]* java.lang.Object(Tree(o17890[16], o17891[16], o17892[16]))))∧(i141[13]* i141[16])∧((o16671Field0[13]* o17890[16])∧(o16671Field1[13]* o17891[16])∧(o16671Field2[13]* o17892[16])∧(o16672[13]* o16672[16])∧(o16673[13]* o16673[16]))∧(o16669[13]* o16669[16]))


(13) -> (18), if ((i141[13]* i141[18])∧(o16669[13]* o16669[18])∧((o18773[13]* java.lang.Object(Tree(o19695[18], o19696[18], o19697[18]))))∧((o16671Field0[13]* o16671Field0[18])∧(o16671Field1[13]* o16671Field1[18])∧(o16671Field2[13]* o16671Field2[18])∧(o16672[13]* o16672[18])∧(o16673[13]* o16673[18])))


(14) -> (7), if ((o16669[14]* o16669[7])∧((o16671Field0[14]* o16671Field0[7])∧(o16671Field1[14]* o16671Field1[7])∧(o16671Field2[14]* o16671Field2[7])∧(o16672[14]* o16672[7])∧(o16673[14]* o16673[7]))∧false∧(i141[14]* i141[7]))


(14) -> (14), if (((o16671Field0[14]* o16671Field0[14]')∧(o16671Field1[14]* o16671Field1[14]')∧(o16671Field2[14]* o16671Field2[14]')∧(o16672[14]* o16672[14]')∧(o16673[14]* o16673[14]'))∧(o16669[14]* o16669[14]')∧((o18773[14]* java.lang.Object(Tree(o18773[14]', o18774[14]', o18775[14]'))))∧(i141[14]* i141[14]'))


(14) -> (15), if ((o16669[14]* o16669[15])∧(i141[14]* i141[15])∧((o16671Field0[14]* o16671Field0[15])∧(o16671Field1[14]* o16671Field1[15])∧(o16671Field2[14]* o16671Field2[15])∧(o16672[14]* o16672[15])∧(o16673[14]* o16673[15]))∧((o18773[14]* NULL)))


(14) -> (16), if ((o16669[14]* o16669[16])∧((o16671Field0[14]* o17890[16])∧(o16671Field1[14]* o17891[16])∧(o16671Field2[14]* o17892[16])∧(o16672[14]* o16672[16])∧(o16673[14]* o16673[16]))∧((o18773[14]* java.lang.Object(Tree(o17890[16], o17891[16], o17892[16]))))∧(i141[14]* i141[16]))


(14) -> (18), if ((i141[14]* i141[18])∧((o18773[14]* java.lang.Object(Tree(o19695[18], o19696[18], o19697[18]))))∧(o16669[14]* o16669[18])∧((o16671Field0[14]* o16671Field0[18])∧(o16671Field1[14]* o16671Field1[18])∧(o16671Field2[14]* o16671Field2[18])∧(o16672[14]* o16672[18])∧(o16673[14]* o16673[18])))


(15) -> (7), if ((o17144[15]* NULL)∧((o16671Field0[15]* o16671Field0[7])∧(o16671Field1[15]* o16671Field1[7])∧(o16671Field2[15]* o16671Field2[7])∧(o16672[15]* o16672[7])∧(o16673[15]* o16673[7]))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[7])∧(i141[15]* i141[7]))


(15) -> (14), if ((o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[14])∧(i141[15]* i141[14])∧((o16671Field0[15]* o16671Field0[14])∧(o16671Field1[15]* o16671Field1[14])∧(o16671Field2[15]* o16671Field2[14])∧(o16672[15]* o16672[14])∧(o16673[15]* o16673[14])))


(15) -> (15), if (((o16671Field0[15]* o16671Field0[15]')∧(o16671Field1[15]* o16671Field1[15]')∧(o16671Field2[15]* o16671Field2[15]')∧(o16672[15]* o16672[15]')∧(o16673[15]* o16673[15]'))∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[15]')∧(o17144[15]* java.lang.Object(Tree(NULL, o17144[15]', o17145[15]')))∧(i141[15]* i141[15]'))


(15) -> (16), if ((java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[16])∧(o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])))∧((o16671Field0[15]* o17890[16])∧(o16671Field1[15]* o17891[16])∧(o16671Field2[15]* o17892[16])∧(o16672[15]* o16672[16])∧(o16673[15]* o16673[16]))∧(i141[15]* i141[16]))


(15) -> (18), if ((i141[15]* i141[18])∧(java.lang.Object(Tree(NULL, o16669[15], NULL)) →* o16669[18])∧((o16671Field0[15]* o16671Field0[18])∧(o16671Field1[15]* o16671Field1[18])∧(o16671Field2[15]* o16671Field2[18])∧(o16672[15]* o16672[18])∧(o16673[15]* o16673[18]))∧(o17144[15]* java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18]))))


(16) -> (7), if (false∧(i141[16]* i141[7])∧((o17890[16]* o16671Field0[7])∧(o17891[16]* o16671Field1[7])∧(o17892[16]* o16671Field2[7])∧(o16672[16]* o16672[7])∧(o16673[16]* o16673[7]))∧(o16669[16]* o16669[7]))


(16) -> (14), if (((o17890[16]* o16671Field0[14])∧(o17891[16]* o16671Field1[14])∧(o17892[16]* o16671Field2[14])∧(o16672[16]* o16672[14])∧(o16673[16]* o16673[14]))∧((o17890[16]* java.lang.Object(Tree(o18773[14], o18774[14], o18775[14]))))∧(o16669[16]* o16669[14])∧(i141[16]* i141[14]))


(16) -> (15), if ((i141[16]* i141[15])∧((o17890[16]* NULL))∧(o16669[16]* o16669[15])∧((o17890[16]* o16671Field0[15])∧(o17891[16]* o16671Field1[15])∧(o17892[16]* o16671Field2[15])∧(o16672[16]* o16672[15])∧(o16673[16]* o16673[15])))


(16) -> (16), if (((o17890[16]* java.lang.Object(Tree(o17890[16]', o17891[16]', o17892[16]'))))∧((o17890[16]* o17890[16]')∧(o17891[16]* o17891[16]')∧(o17892[16]* o17892[16]')∧(o16672[16]* o16672[16]')∧(o16673[16]* o16673[16]'))∧(o16669[16]* o16669[16]')∧(i141[16]* i141[16]'))


(16) -> (18), if (((o17890[16]* o16671Field0[18])∧(o17891[16]* o16671Field1[18])∧(o17892[16]* o16671Field2[18])∧(o16672[16]* o16672[18])∧(o16673[16]* o16673[18]))∧((o17890[16]* java.lang.Object(Tree(o19695[18], o19696[18], o19697[18]))))∧(i141[16]* i141[18])∧(o16669[16]* o16669[18]))


(18) -> (13), if ((o19695[18]* o18773[13])∧((o16671Field0[18]* o16671Field0[13])∧(o16671Field1[18]* o16671Field1[13])∧(o16671Field2[18]* o16671Field2[13])∧(o16672[18]* o16672[13])∧(o16673[18]* o16673[13]))∧(i141[18]* i141[13])∧(o16669[18]* o16669[13])∧((o19695[18]* o18773[13])∧(o19696[18]* o18774[13])∧(o19697[18]* o18775[13])∧(o17144[18]* o17144[13])∧(o17145[18]* o17145[13])))



The set Q consists of the following terms:
Load1265(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)))
Store26273(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(NULL, x2, x3)))
Store26568(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x6, x7)), x8)

(14) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(15) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
JMP1675'(o859[10], o944[10], i184[10]) → LOAD1265(o859[10], o944[10], i184[10])
NULL1315'(o859[11], i141[11], java.lang.Object(Tree(NULL, o944[11], o945[11]))) → LOAD1265(o859[11], o944[11], plus_int(pos(s(0)), i141[11]))
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
NULL1315'(java.lang.Object(Tree(NULL, o949[17], o950[17])), i141[17], java.lang.Object(Tree(NULL, o949[17], o950[17]))) → JMP1675'(java.lang.Object(Tree(NULL, o949[17], o950[17])), o949[17], plus_int(pos(s(0)), i141[17]))
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

Load1265(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)))
Store26273(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(NULL, x2, x3)))
Store26568(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x6, x7)), x8)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(16) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(17) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
JMP1675'(o859[10], o944[10], i184[10]) → LOAD1265(o859[10], o944[10], i184[10])
NULL1315'(o859[11], i141[11], java.lang.Object(Tree(NULL, o944[11], o945[11]))) → LOAD1265(o859[11], o944[11], plus_int(pos(s(0)), i141[11]))
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
NULL1315'(java.lang.Object(Tree(NULL, o949[17], o950[17])), i141[17], java.lang.Object(Tree(NULL, o949[17], o950[17]))) → JMP1675'(java.lang.Object(Tree(NULL, o949[17], o950[17])), o949[17], plus_int(pos(s(0)), i141[17]))
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

Load1265(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)))
Store26273(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(NULL, x2, x3)))
Store26568(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x6, x7)), x8)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(18) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

Load1265(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)))
Store26273(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12, x7)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(java.lang.Object(Tree(x7, x8, x9)), x10, x11)), x12)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(NULL, x7, x8)), x9)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), NULL, x6)
JMP22682(x0, x1, x2)
Load21911(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), NULL, x7)
JMP1675(x0, x1, x2)
NULL1315(x0, x1, java.lang.Object(Tree(NULL, x2, x3)))
Store26568(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11, x6)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), x11)
Load22061(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(NULL, x6, x7)), x8)

(19) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
JMP1675'(o859[10], o944[10], i184[10]) → LOAD1265(o859[10], o944[10], i184[10])
NULL1315'(o859[11], i141[11], java.lang.Object(Tree(NULL, o944[11], o945[11]))) → LOAD1265(o859[11], o944[11], plus_int(pos(s(0)), i141[11]))
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
NULL1315'(java.lang.Object(Tree(NULL, o949[17], o950[17])), i141[17], java.lang.Object(Tree(NULL, o949[17], o950[17]))) → JMP1675'(java.lang.Object(Tree(NULL, o949[17], o950[17])), o949[17], plus_int(pos(s(0)), i141[17]))
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(20) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


NULL1315'(o859[11], i141[11], java.lang.Object(Tree(NULL, o944[11], o945[11]))) → LOAD1265(o859[11], o944[11], plus_int(pos(s(0)), i141[11]))
NULL1315'(java.lang.Object(Tree(NULL, o949[17], o950[17])), i141[17], java.lang.Object(Tree(NULL, o949[17], o950[17]))) → JMP1675'(java.lang.Object(Tree(NULL, o949[17], o950[17])), o949[17], plus_int(pos(s(0)), i141[17]))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(0) = 0   
POL(JMP1675'(x1, x2, x3)) = x2   
POL(JMP22682'(x1, x2, x3)) = x2   
POL(LOAD1265(x1, x2, x3)) = x2   
POL(LOAD21911(x1, x2, x3, x4, x5)) = x4 + x5   
POL(LOAD22061(x1, x2, x3, x4)) = x3 + x4   
POL(NULL) = 0   
POL(NULL1315'(x1, x2, x3)) = x3   
POL(STORE26273(x1, x2, x3, x4, x5, x6)) = x4 + x5   
POL(STORE26568(x1, x2, x3, x4, x5)) = x3 + x4   
POL(Tree(x1, x2, x3)) = 1 + x1 + x2   
POL(java.lang.Object(x1)) = x1   
POL(minus_nat(x1, x2)) = 1   
POL(neg(x1)) = 1   
POL(plus_int(x1, x2)) = x2   
POL(plus_nat(x1, x2)) = 0   
POL(pos(x1)) = 0   
POL(s(x1)) = 0   

The following usable rules [FROCOS05] were oriented: none

(21) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
JMP1675'(o859[10], o944[10], i184[10]) → LOAD1265(o859[10], o944[10], i184[10])
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(22) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(23) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(24) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])

R is empty.
The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(26) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(28) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


NULL1315'(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1]))) → LOAD21911(o859[1], i141[1], java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), java.lang.Object(Tree(java.lang.Object(Tree(o996Field0[1], o996Field1[1], o996Field2[1])), o944[1], o945[1])), NULL)
LOAD21911(o16609[9], i141[9], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[9], o16606Field1[9], o16606Field2[9])), o16607[9], o16608[9])), NULL, o16604[9]) → LOAD1265(o16609[9], o16604[9], i141[9])
NULL1315'(java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12]))) → LOAD22061(i141[12], java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), java.lang.Object(Tree(java.lang.Object(Tree(o1010Field0[12], o1010Field1[12], o1010Field2[12])), o949[12], o950[12])), NULL)
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO]:

POL(NULL1315'(x1, x2, x3)) = 0 +
[0,0]
·x1 +
[1,1]
·x2 +
[1,0]
·x3

POL(java.lang.Object(x1)) =
/0\
\1/
+
/11\
\01/
·x1

POL(Tree(x1, x2, x3)) =
/0\
\0/
+
/01\
\01/
·x1 +
/00\
\00/
·x2 +
/00\
\00/
·x3

POL(LOAD21911(x1, x2, x3, x4, x5)) = 1 +
[0,0]
·x1 +
[1,1]
·x2 +
[0,0]
·x3 +
[0,0]
·x4 +
[1,0]
·x5

POL(NULL) =
/0\
\0/

POL(STORE26273(x1, x2, x3, x4, x5, x6)) = 1 +
[0,0]
·x1 +
[1,1]
·x2 +
[0,0]
·x3 +
[0,0]
·x4 +
[1,0]
·x5 +
[0,0]
·x6

POL(LOAD1265(x1, x2, x3)) = 0 +
[0,0]
·x1 +
[1,0]
·x2 +
[1,1]
·x3

POL(LOAD22061(x1, x2, x3, x4)) = 0 +
[1,1]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[1,0]
·x4

POL(JMP22682'(x1, x2, x3)) = 0 +
[0,0]
·x1 +
[1,0]
·x2 +
[1,1]
·x3

POL(STORE26568(x1, x2, x3, x4, x5)) = 0 +
[1,1]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[1,0]
·x4 +
[0,0]
·x5

The following usable rules [FROCOS05] were oriented: none

(29) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])
LOAD1265(o831[0], o830[0], i130[0]) → NULL1315'(o831[0], i130[0], o830[0])
LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[7], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), NULL, o16669[7]) → JMP22682'(java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[7], o16671Field1[7], o16671Field2[7])), o16672[7], o16673[7])), o16669[7], i141[7])
JMP22682'(o16609[8], o16604[8], i141[8]) → LOAD1265(o16609[8], o16604[8], i141[8])
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(30) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 3 less nodes.

(31) Complex Obligation (AND)

(32) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(33) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), java.lang.Object(Tree(NULL, o17144[15], o17145[15])), o16669[15]) → LOAD22061(i141[15], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[15], o16671Field1[15], o16671Field2[15])), o16672[15], o16673[15])), o17144[15], java.lang.Object(Tree(NULL, o16669[15], NULL)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(LOAD22061(x1, x2, x3, x4)) = x3   
POL(NULL) = 1   
POL(STORE26568(x1, x2, x3, x4, x5)) = x3   
POL(Tree(x1, x2, x3)) = x1 + x2   
POL(java.lang.Object(x1)) = x1   

The following usable rules [FROCOS05] were oriented: none

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(35) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[14], o18774[14], o18775[14])), o17144[14], o17145[14])), o16669[14]) → LOAD22061(i141[14], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[14], o16671Field1[14], o16671Field2[14])), o16672[14], o16673[14])), java.lang.Object(Tree(o18773[14], java.lang.Object(Tree(o18774[14], o17144[14], NULL)), NULL)), o16669[14])
LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), o16669[16]) → LOAD22061(i141[16], java.lang.Object(Tree(java.lang.Object(Tree(o17890[16], o17891[16], o17892[16])), o16672[16], o16673[16])), java.lang.Object(Tree(o17890[16], java.lang.Object(Tree(o17891[16], o16672[16], NULL)), NULL)), o16669[16])
STORE26568(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(java.lang.Object(Tree(o18773[13], o18774[13], o18775[13])), o17144[13], o17145[13])), o16669[13], o18773[13]) → LOAD22061(i141[13], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[13], o16671Field1[13], o16671Field2[13])), o16672[13], o16673[13])), java.lang.Object(Tree(o18773[13], java.lang.Object(Tree(o18774[13], o17144[13], NULL)), NULL)), o16669[13])
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(LOAD22061(x1, x2, x3, x4)) = x3   
POL(NULL) = 0   
POL(STORE26568(x1, x2, x3, x4, x5)) = x3   
POL(Tree(x1, x2, x3)) = x1   
POL(java.lang.Object(x1)) = 1 + x1   

The following usable rules [FROCOS05] were oriented: none

(36) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD22061(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18]) → STORE26568(i141[18], java.lang.Object(Tree(java.lang.Object(Tree(o16671Field0[18], o16671Field1[18], o16671Field2[18])), o16672[18], o16673[18])), java.lang.Object(Tree(java.lang.Object(Tree(o19695[18], o19696[18], o19697[18])), o17144[18], o17145[18])), o16669[18], o19695[18])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(37) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(38) TRUE

(39) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(40) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), java.lang.Object(Tree(NULL, o17126[4], o17127[4])), o16604[4]) → LOAD21911(o16609[4], i141[4], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[4], o16606Field1[4], o16606Field2[4])), o16607[4], o16608[4])), o17126[4], java.lang.Object(Tree(NULL, o16604[4], NULL)))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO]:

POL(LOAD21911(x1, x2, x3, x4, x5)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[0,1]
·x4 +
[0,0]
·x5

POL(java.lang.Object(x1)) =
/0\
\0/
+
/00\
\01/
·x1

POL(Tree(x1, x2, x3)) =
/0\
\0/
+
/00\
\01/
·x1 +
/00\
\01/
·x2 +
/00\
\00/
·x3

POL(NULL) =
/0\
\1/

POL(STORE26273(x1, x2, x3, x4, x5, x6)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[0,1]
·x4 +
[0,0]
·x5 +
[0,0]
·x6

The following usable rules [FROCOS05] were oriented: none

(41) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(42) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[3], o18622[3], o18623[3])), o17126[3], o17127[3])), o16604[3]) → LOAD21911(o16609[3], i141[3], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[3], o16606Field1[3], o16606Field2[3])), o16607[3], o16608[3])), java.lang.Object(Tree(o18621[3], java.lang.Object(Tree(o18622[3], o17126[3], NULL)), NULL)), o16604[3])
LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), o16604[5]) → LOAD21911(o16609[5], i141[5], java.lang.Object(Tree(java.lang.Object(Tree(o17786[5], o17787[5], o17788[5])), o16607[5], o16608[5])), java.lang.Object(Tree(o17786[5], java.lang.Object(Tree(o17787[5], o16607[5], NULL)), NULL)), o16604[5])
LOAD21911(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6]) → STORE26273(o16609[6], i141[6], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[6], o16606Field1[6], o16606Field2[6])), o16607[6], o16608[6])), java.lang.Object(Tree(java.lang.Object(Tree(o19480[6], o19481[6], o19482[6])), o17126[6], o17127[6])), o16604[6], o19480[6])
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(LOAD21911(x1, x2, x3, x4, x5)) = x4   
POL(NULL) = 0   
POL(STORE26273(x1, x2, x3, x4, x5, x6)) = 1 + x6   
POL(Tree(x1, x2, x3)) = 1 + x1   
POL(java.lang.Object(x1)) = x1   

The following usable rules [FROCOS05] were oriented: none

(43) Obligation:

Q DP problem:
The TRS P consists of the following rules:

STORE26273(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(java.lang.Object(Tree(o18621[2], o18622[2], o18623[2])), o17126[2], o17127[2])), o16604[2], o18621[2]) → LOAD21911(o16609[2], i141[2], java.lang.Object(Tree(java.lang.Object(Tree(o16606Field0[2], o16606Field1[2], o16606Field2[2])), o16607[2], o16608[2])), java.lang.Object(Tree(o18621[2], java.lang.Object(Tree(o18622[2], o17126[2], NULL)), NULL)), o16604[2])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(44) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(45) TRUE

(46) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC)))) → Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR1(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)))
JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473))) → Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR2(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)))
Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467))) → Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR3(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)))
Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC)))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
JMP32293(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC)))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, NULL, o17467))) → Load15465ARR4(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, NULL, o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR4(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR4(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR4(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC)))) → Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR5(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)))
JMP32331(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC)))) → Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o17472, o17473))) → Load15465ARR6(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR6(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR6(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR6(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, NULL, java.lang.Object(EOC)))) → Load15465ARR7(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR7(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR7(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR7(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → JMP32293(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(NULL, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o12098, java.lang.Object(EOC)))) → Load15465ARR8(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(NULL, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR8(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR8(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR8(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP32331(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc32520(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP32293(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load15465ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15465ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP32331(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load15465ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15465ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load15465ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load15465ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load15465ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load15465ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(47) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

JMP32331(x1, x2, x3, x4, x5) → JMP32331(x1, x2, x3, x5)
Cond_Load15465ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR8(x1, x2, x3, x4, x6, x7)
Load15465ARR8(x1, x2, x3, x4, x5, x6) → Load15465ARR8(x1, x2, x3, x5, x6)
JMP32293(x1, x2, x3, x4, x5) → JMP32293(x1, x2, x3, x5)
Cond_Load15465ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR7(x1, x2, x3, x4, x6, x7)
Load15465ARR7(x1, x2, x3, x4, x5, x6) → Load15465ARR7(x1, x2, x3, x5, x6)
Inc32520(x1, x2, x3, x4, x5) → Inc32520(x1, x2, x3, x5)
Cond_Load15465ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR5(x1, x2, x3, x4, x6, x7)
Load15465ARR5(x1, x2, x3, x4, x5, x6) → Load15465ARR5(x1, x2, x3, x5, x6)
Cond_Load15465ARR1(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR1(x1, x2, x3, x4, x6, x7)
Load15465ARR1(x1, x2, x3, x4, x5, x6) → Load15465ARR1(x1, x2, x3, x5, x6)

(48) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC)))) → Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR1(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17662Field0, o17662Field1, o17662Field2)))
JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473))) → Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR2(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17917Field0, o17917Field1, o17917Field2)))
Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467))) → Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR3(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17900Field0, o17900Field1, o17900Field2)))
Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC)))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
JMP32293(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC)))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, NULL, o17467))) → Load15465ARR4(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, NULL, o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR4(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR4(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR4(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17465, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17467)), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC)))) → Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR5(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)), o12098, java.lang.Object(EOC))), java.lang.Object(Tree(o17705Field0, o17705Field1, o17705Field2)))
JMP32331(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC)))) → Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o17472, o17473))) → Load15465ARR6(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR6(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR6(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR6(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17472, o17473)), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, o12098, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o12097, NULL, java.lang.Object(EOC)))) → Load15465ARR7(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Load15465ARR7(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → Cond_Load15465ARR7(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102)))
Cond_Load15465ARR7(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i1164, i1166, a6102))) → JMP32293(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(o12097, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(NULL, o12098, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o12098, java.lang.Object(EOC)))) → Load15465ARR8(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(NULL, o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR8(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR8(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR8(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP32331(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o12098, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc32520(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP32293(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load15465ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15465ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP32331(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load15465ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15465ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load15465ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load15465ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load15465ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load15465ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(49) ITRSFilterProcessorProof (SOUND transformation)

We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:

Load15465(x1, x2, x3, x4, x5) → Load15465(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load15465ARR1(x1, x2, x3, x4, x5) → Load15465ARR1(x1, x2, x3)
Cond_Load15465ARR1(x1, x2, x3, x4, x5, x6) → Cond_Load15465ARR1(x1, x2, x3, x4)
Inc26629(x1, x2, x3, x4, x5) → Inc26629(x1, x2, x3)
JMP26698(x1, x2, x3, x4, x5) → JMP26698(x1, x2, x3)
Load15465ARR2(x1, x2, x3, x4, x5, x6) → Load15465ARR2(x1, x2, x3, x6)
Cond_Load15465ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR2(x1, x2, x3, x4, x7)
Load15465ARR3(x1, x2, x3, x4, x5, x6) → Load15465ARR3(x1, x2, x3)
Cond_Load15465ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR3(x1, x2, x3, x4)
Inc32520(x1, x2, x3, x4) → Inc32520(x1, x2, x3)
JMP32293(x1, x2, x3, x4) → JMP32293(x1, x2, x3)
Load15465ARR4(x1, x2, x3, x4, x5, x6) → Load15465ARR4(x1, x2, x3)
Cond_Load15465ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR4(x1, x2, x3, x4)
Load15465ARR5(x1, x2, x3, x4, x5) → Load15465ARR5(x1, x2, x3, x5)
Cond_Load15465ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load15465ARR5(x1, x2, x3, x4, x6)
JMP32331(x1, x2, x3, x4) → JMP32331(x1, x2, x3)
Load15465ARR6(x1, x2, x3, x4, x5, x6) → Load15465ARR6(x1, x2, x3, x6)
Cond_Load15465ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15465ARR6(x1, x2, x3, x4, x7)
Load15465ARR7(x1, x2, x3, x4, x5) → Load15465ARR7(x1, x2, x3)
Cond_Load15465ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load15465ARR7(x1, x2, x3, x4)
Load15465ARR8(x1, x2, x3, x4, x5) → Load15465ARR8(x1, x2, x3, x5)
Cond_Load15465ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load15465ARR8(x1, x2, x3, x4, x6)

(50) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR1(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR2(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR3(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1)
Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1)
JMP32293(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR4(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR4(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR4(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR4(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR5(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
JMP32331(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR6(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR6(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR6(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR6(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc32520(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR7(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR7(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR7(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR7(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → JMP32293(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR8(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR8(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR8(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR8(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP32331(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
The set Q consists of the following terms:
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc32520(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP32293(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
JMP32331(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load15465ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(51) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load15465ARR1, Load15465ARR7
> Load15465ARR1_3

Load15465ARR3, Load15465ARR4
> Load15465ARR3_3

Cond_Load15465ARR1, Cond_Load15465ARR7
> Cond_Load15465ARR1_4

JMP26698, JMP32331
> JMP26698_3

Load15465ARR2, Load15465ARR6
> Load15465ARR2_4

Load15465ARR5, Load15465ARR8
> Load15465ARR5_4

Cond_Load15465ARR5, Cond_Load15465ARR8
> Cond_Load15465ARR5_5

Cond_Load15465ARR2, Cond_Load15465ARR6
> Cond_Load15465ARR2_5

Inc26629, Inc32520, JMP32293
> Inc26629_3

Cond_Load15465ARR3, Cond_Load15465ARR4
> Cond_Load15465ARR3_4

(52) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR1(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR2(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR3(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR5(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
The set Q consists of the following terms:
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(53) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(54) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR1(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR2(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)
Inc26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058 + -1)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Load15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Cond_Load15465ARR3(i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058 + -1)
Load15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Load15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → Cond_Load15465ARR5(i1194 > 0 && i956 > 0 && i956 < i3 && i1058 > 0 && i956 + 1 > 0, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP26698(java.lang.Object(ARRAY(i3, a5220data)), i956 + 1, i1058)

The integer pair graph contains the following rules and edges:
(0): LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0]) → LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])
(1): LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0, java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])
(2): COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2] + 1, i1058[2])
(3): JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]) → INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])
(4): LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4]) → LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))
(5): LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))) → COND_LOAD15465ARR2(i1194[5] > 0 && i956[5] > 0 && i956[5] < i3[5] && i1058[5] > 0 && i956[5] + 1 > 0, java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))
(6): COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6]))) → INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6] + 1, i1058[6])
(7): INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7] + -1)
(8): LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8]) → LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])
(9): LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0, java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])
(10): COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10] + 1, i1058[10] + -1)
(11): LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11]) → LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))
(12): LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))) → COND_LOAD15465ARR5(i1194[12] > 0 && i956[12] > 0 && i956[12] < i3[12] && i1058[12] > 0 && i956[12] + 1 > 0, java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))
(13): COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13]))) → JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13] + 1, i1058[13])

(0) -> (1), if ((i956[0]* i956[1])∧(i1058[0]* i1058[1])∧(java.lang.Object(ARRAY(i3[0], a5220data[0])) →* java.lang.Object(ARRAY(i3[1], a5220data[1]))))


(1) -> (2), if ((i956[1]* i956[2])∧(java.lang.Object(ARRAY(i3[1], a5220data[1])) →* java.lang.Object(ARRAY(i3[2], a5220data[2])))∧(i1058[1]* i1058[2])∧(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0* TRUE))


(2) -> (7), if ((java.lang.Object(ARRAY(i3[2], a5220data[2])) →* java.lang.Object(ARRAY(i3[7], a5220data[7])))∧(i956[2] + 1* i1148[7])∧(i1058[2]* i1058[7]))


(3) -> (7), if ((i1148[3]* i1148[7])∧(java.lang.Object(ARRAY(i3[3], a5220data[3])) →* java.lang.Object(ARRAY(i3[7], a5220data[7])))∧(i1058[3]* i1058[7]))


(4) -> (5), if ((i1058[4]* i1058[5])∧(i956[4]* i956[5])∧(java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])) →* java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))∧(java.lang.Object(ARRAY(i3[4], a5220data[4])) →* java.lang.Object(ARRAY(i3[5], a5220data[5]))))


(5) -> (6), if ((i956[5]* i956[6])∧(java.lang.Object(ARRAY(i3[5], a5220data[5])) →* java.lang.Object(ARRAY(i3[6], a5220data[6])))∧(i1058[5]* i1058[6])∧(java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])) →* java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6])))∧(i1194[5] > 0 && i956[5] > 0 && i956[5] < i3[5] && i1058[5] > 0 && i956[5] + 1 > 0* TRUE))


(6) -> (7), if ((i1058[6]* i1058[7])∧(java.lang.Object(ARRAY(i3[6], a5220data[6])) →* java.lang.Object(ARRAY(i3[7], a5220data[7])))∧(i956[6] + 1* i1148[7]))


(7) -> (0), if ((java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[0], a5220data[0])))∧(i1058[7] + -1* i1058[0])∧(i1148[7]* i956[0]))


(7) -> (4), if ((i1058[7] + -1* i1058[4])∧(i1148[7]* i956[4])∧(java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[4], a5220data[4]))))


(7) -> (8), if ((i1058[7] + -1* i1058[8])∧(java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[8], a5220data[8])))∧(i1148[7]* i956[8]))


(7) -> (11), if ((java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[11], a5220data[11])))∧(i1148[7]* i956[11])∧(i1058[7] + -1* i1058[11]))


(8) -> (9), if ((i956[8]* i956[9])∧(i1058[8]* i1058[9])∧(java.lang.Object(ARRAY(i3[8], a5220data[8])) →* java.lang.Object(ARRAY(i3[9], a5220data[9]))))


(9) -> (10), if ((i956[9]* i956[10])∧(i1058[9]* i1058[10])∧(java.lang.Object(ARRAY(i3[9], a5220data[9])) →* java.lang.Object(ARRAY(i3[10], a5220data[10])))∧(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0* TRUE))


(10) -> (0), if ((java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[0], a5220data[0])))∧(i1058[10] + -1* i1058[0])∧(i956[10] + 1* i956[0]))


(10) -> (4), if ((i956[10] + 1* i956[4])∧(java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[4], a5220data[4])))∧(i1058[10] + -1* i1058[4]))


(10) -> (8), if ((i956[10] + 1* i956[8])∧(i1058[10] + -1* i1058[8])∧(java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[8], a5220data[8]))))


(10) -> (11), if ((i956[10] + 1* i956[11])∧(java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[11], a5220data[11])))∧(i1058[10] + -1* i1058[11]))


(11) -> (12), if ((java.lang.Object(ARRAY(i3[11], a5220data[11])) →* java.lang.Object(ARRAY(i3[12], a5220data[12])))∧(i956[11]* i956[12])∧(i1058[11]* i1058[12])∧(java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])) →* java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))))


(12) -> (13), if ((java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])) →* java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13])))∧(java.lang.Object(ARRAY(i3[12], a5220data[12])) →* java.lang.Object(ARRAY(i3[13], a5220data[13])))∧(i1194[12] > 0 && i956[12] > 0 && i956[12] < i3[12] && i1058[12] > 0 && i956[12] + 1 > 0* TRUE)∧(i956[12]* i956[13])∧(i1058[12]* i1058[13]))


(13) -> (3), if ((i956[13] + 1* i1148[3])∧(java.lang.Object(ARRAY(i3[13], a5220data[13])) →* java.lang.Object(ARRAY(i3[3], a5220data[3])))∧(i1058[13]* i1058[3]))



The set Q consists of the following terms:
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(55) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(56) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0]) → LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])
(1): LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0, java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])
(2): COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2] + 1, i1058[2])
(3): JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]) → INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])
(4): LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4]) → LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))
(5): LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))) → COND_LOAD15465ARR2(i1194[5] > 0 && i956[5] > 0 && i956[5] < i3[5] && i1058[5] > 0 && i956[5] + 1 > 0, java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))
(6): COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6]))) → INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6] + 1, i1058[6])
(7): INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7] + -1)
(8): LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8]) → LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])
(9): LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0, java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])
(10): COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10] + 1, i1058[10] + -1)
(11): LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11]) → LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))
(12): LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))) → COND_LOAD15465ARR5(i1194[12] > 0 && i956[12] > 0 && i956[12] < i3[12] && i1058[12] > 0 && i956[12] + 1 > 0, java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))
(13): COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13]))) → JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13] + 1, i1058[13])

(0) -> (1), if ((i956[0]* i956[1])∧(i1058[0]* i1058[1])∧(java.lang.Object(ARRAY(i3[0], a5220data[0])) →* java.lang.Object(ARRAY(i3[1], a5220data[1]))))


(1) -> (2), if ((i956[1]* i956[2])∧(java.lang.Object(ARRAY(i3[1], a5220data[1])) →* java.lang.Object(ARRAY(i3[2], a5220data[2])))∧(i1058[1]* i1058[2])∧(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0* TRUE))


(2) -> (7), if ((java.lang.Object(ARRAY(i3[2], a5220data[2])) →* java.lang.Object(ARRAY(i3[7], a5220data[7])))∧(i956[2] + 1* i1148[7])∧(i1058[2]* i1058[7]))


(3) -> (7), if ((i1148[3]* i1148[7])∧(java.lang.Object(ARRAY(i3[3], a5220data[3])) →* java.lang.Object(ARRAY(i3[7], a5220data[7])))∧(i1058[3]* i1058[7]))


(4) -> (5), if ((i1058[4]* i1058[5])∧(i956[4]* i956[5])∧(java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])) →* java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))∧(java.lang.Object(ARRAY(i3[4], a5220data[4])) →* java.lang.Object(ARRAY(i3[5], a5220data[5]))))


(5) -> (6), if ((i956[5]* i956[6])∧(java.lang.Object(ARRAY(i3[5], a5220data[5])) →* java.lang.Object(ARRAY(i3[6], a5220data[6])))∧(i1058[5]* i1058[6])∧(java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])) →* java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6])))∧(i1194[5] > 0 && i956[5] > 0 && i956[5] < i3[5] && i1058[5] > 0 && i956[5] + 1 > 0* TRUE))


(6) -> (7), if ((i1058[6]* i1058[7])∧(java.lang.Object(ARRAY(i3[6], a5220data[6])) →* java.lang.Object(ARRAY(i3[7], a5220data[7])))∧(i956[6] + 1* i1148[7]))


(7) -> (0), if ((java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[0], a5220data[0])))∧(i1058[7] + -1* i1058[0])∧(i1148[7]* i956[0]))


(7) -> (4), if ((i1058[7] + -1* i1058[4])∧(i1148[7]* i956[4])∧(java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[4], a5220data[4]))))


(7) -> (8), if ((i1058[7] + -1* i1058[8])∧(java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[8], a5220data[8])))∧(i1148[7]* i956[8]))


(7) -> (11), if ((java.lang.Object(ARRAY(i3[7], a5220data[7])) →* java.lang.Object(ARRAY(i3[11], a5220data[11])))∧(i1148[7]* i956[11])∧(i1058[7] + -1* i1058[11]))


(8) -> (9), if ((i956[8]* i956[9])∧(i1058[8]* i1058[9])∧(java.lang.Object(ARRAY(i3[8], a5220data[8])) →* java.lang.Object(ARRAY(i3[9], a5220data[9]))))


(9) -> (10), if ((i956[9]* i956[10])∧(i1058[9]* i1058[10])∧(java.lang.Object(ARRAY(i3[9], a5220data[9])) →* java.lang.Object(ARRAY(i3[10], a5220data[10])))∧(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0* TRUE))


(10) -> (0), if ((java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[0], a5220data[0])))∧(i1058[10] + -1* i1058[0])∧(i956[10] + 1* i956[0]))


(10) -> (4), if ((i956[10] + 1* i956[4])∧(java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[4], a5220data[4])))∧(i1058[10] + -1* i1058[4]))


(10) -> (8), if ((i956[10] + 1* i956[8])∧(i1058[10] + -1* i1058[8])∧(java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[8], a5220data[8]))))


(10) -> (11), if ((i956[10] + 1* i956[11])∧(java.lang.Object(ARRAY(i3[10], a5220data[10])) →* java.lang.Object(ARRAY(i3[11], a5220data[11])))∧(i1058[10] + -1* i1058[11]))


(11) -> (12), if ((java.lang.Object(ARRAY(i3[11], a5220data[11])) →* java.lang.Object(ARRAY(i3[12], a5220data[12])))∧(i956[11]* i956[12])∧(i1058[11]* i1058[12])∧(java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])) →* java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))))


(12) -> (13), if ((java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])) →* java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13])))∧(java.lang.Object(ARRAY(i3[12], a5220data[12])) →* java.lang.Object(ARRAY(i3[13], a5220data[13])))∧(i1194[12] > 0 && i956[12] > 0 && i956[12] < i3[12] && i1058[12] > 0 && i956[12] + 1 > 0* TRUE)∧(i956[12]* i956[13])∧(i1058[12]* i1058[13]))


(13) -> (3), if ((i956[13] + 1* i1148[3])∧(java.lang.Object(ARRAY(i3[13], a5220data[13])) →* java.lang.Object(ARRAY(i3[3], a5220data[3])))∧(i1058[13]* i1058[3]))



The set Q consists of the following terms:
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(57) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(58) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0]) → LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])
(1): LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0, java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])
(2): COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2] + 1, i1058[2])
(3): JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]) → INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])
(4): LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4]) → LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))
(5): LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))) → COND_LOAD15465ARR2(i1194[5] > 0 && i956[5] > 0 && i956[5] < i3[5] && i1058[5] > 0 && i956[5] + 1 > 0, java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))
(6): COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6]))) → INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6] + 1, i1058[6])
(7): INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7] + -1)
(8): LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8]) → LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])
(9): LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0, java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])
(10): COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10] + 1, i1058[10] + -1)
(11): LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11]) → LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))
(12): LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))) → COND_LOAD15465ARR5(i1194[12] > 0 && i956[12] > 0 && i956[12] < i3[12] && i1058[12] > 0 && i956[12] + 1 > 0, java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))
(13): COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13]))) → JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13] + 1, i1058[13])

(0) -> (1), if ((i956[0]* i956[1])∧(i1058[0]* i1058[1])∧((i3[0]* i3[1])∧(a5220data[0]* a5220data[1])))


(1) -> (2), if ((i956[1]* i956[2])∧((i3[1]* i3[2])∧(a5220data[1]* a5220data[2]))∧(i1058[1]* i1058[2])∧(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0* TRUE))


(2) -> (7), if (((i3[2]* i3[7])∧(a5220data[2]* a5220data[7]))∧(i956[2] + 1* i1148[7])∧(i1058[2]* i1058[7]))


(3) -> (7), if ((i1148[3]* i1148[7])∧((i3[3]* i3[7])∧(a5220data[3]* a5220data[7]))∧(i1058[3]* i1058[7]))


(4) -> (5), if ((i1058[4]* i1058[5])∧(i956[4]* i956[5])∧((i1194[4]* i1194[5])∧(i1164[4]* i1164[5])∧(i1166[4]* i1166[5])∧(a6102[4]* a6102[5]))∧((i3[4]* i3[5])∧(a5220data[4]* a5220data[5])))


(5) -> (6), if ((i956[5]* i956[6])∧((i3[5]* i3[6])∧(a5220data[5]* a5220data[6]))∧(i1058[5]* i1058[6])∧((i1194[5]* i1194[6])∧(i1164[5]* i1164[6])∧(i1166[5]* i1166[6])∧(a6102[5]* a6102[6]))∧(i1194[5] > 0 && i956[5] > 0 && i956[5] < i3[5] && i1058[5] > 0 && i956[5] + 1 > 0* TRUE))


(6) -> (7), if ((i1058[6]* i1058[7])∧((i3[6]* i3[7])∧(a5220data[6]* a5220data[7]))∧(i956[6] + 1* i1148[7]))


(7) -> (0), if (((i3[7]* i3[0])∧(a5220data[7]* a5220data[0]))∧(i1058[7] + -1* i1058[0])∧(i1148[7]* i956[0]))


(7) -> (4), if ((i1058[7] + -1* i1058[4])∧(i1148[7]* i956[4])∧((i3[7]* i3[4])∧(a5220data[7]* a5220data[4])))


(7) -> (8), if ((i1058[7] + -1* i1058[8])∧((i3[7]* i3[8])∧(a5220data[7]* a5220data[8]))∧(i1148[7]* i956[8]))


(7) -> (11), if (((i3[7]* i3[11])∧(a5220data[7]* a5220data[11]))∧(i1148[7]* i956[11])∧(i1058[7] + -1* i1058[11]))


(8) -> (9), if ((i956[8]* i956[9])∧(i1058[8]* i1058[9])∧((i3[8]* i3[9])∧(a5220data[8]* a5220data[9])))


(9) -> (10), if ((i956[9]* i956[10])∧(i1058[9]* i1058[10])∧((i3[9]* i3[10])∧(a5220data[9]* a5220data[10]))∧(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0* TRUE))


(10) -> (0), if (((i3[10]* i3[0])∧(a5220data[10]* a5220data[0]))∧(i1058[10] + -1* i1058[0])∧(i956[10] + 1* i956[0]))


(10) -> (4), if ((i956[10] + 1* i956[4])∧((i3[10]* i3[4])∧(a5220data[10]* a5220data[4]))∧(i1058[10] + -1* i1058[4]))


(10) -> (8), if ((i956[10] + 1* i956[8])∧(i1058[10] + -1* i1058[8])∧((i3[10]* i3[8])∧(a5220data[10]* a5220data[8])))


(10) -> (11), if ((i956[10] + 1* i956[11])∧((i3[10]* i3[11])∧(a5220data[10]* a5220data[11]))∧(i1058[10] + -1* i1058[11]))


(11) -> (12), if (((i3[11]* i3[12])∧(a5220data[11]* a5220data[12]))∧(i956[11]* i956[12])∧(i1058[11]* i1058[12])∧((i1194[11]* i1194[12])∧(i1164[11]* i1164[12])∧(i1166[11]* i1166[12])∧(a6102[11]* a6102[12])))


(12) -> (13), if (((i1194[12]* i1194[13])∧(i1164[12]* i1164[13])∧(i1166[12]* i1166[13])∧(a6102[12]* a6102[13]))∧((i3[12]* i3[13])∧(a5220data[12]* a5220data[13]))∧(i1194[12] > 0 && i956[12] > 0 && i956[12] < i3[12] && i1058[12] > 0 && i956[12] + 1 > 0* TRUE)∧(i956[12]* i956[13])∧(i1058[12]* i1058[13]))


(13) -> (3), if ((i956[13] + 1* i1148[3])∧((i3[13]* i3[3])∧(a5220data[13]* a5220data[3]))∧(i1058[13]* i1058[3]))



The set Q consists of the following terms:
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(59) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) the following chains were created:
  • We consider the chain LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0]) → LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0]), LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) which results in the following constraint:

    (1)    (i956[0]=i956[1]i1058[0]=i1058[1]i3[0]=i3[1]a5220data[0]=a5220data[1]LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])≥NonInfC∧LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])≥LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])∧(UIncreasing(LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])≥NonInfC∧LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])≥LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])∧(UIncreasing(LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    ((UIncreasing(LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)







For Pair LOAD15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → COND_LOAD15465ARR1(&&(&&(&&(>(i956, 0), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) the following chains were created:
  • We consider the chain LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]), COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2]) which results in the following constraint:

    (7)    (i956[1]=i956[2]i3[1]=i3[2]a5220data[1]=a5220data[2]i1058[1]=i1058[2]&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0))=TRUELOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])≥NonInfC∧LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])≥COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])∧(UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥))



    We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (8)    (>(+(i956[1], 1), 0)=TRUE>(i1058[1], 0)=TRUE>(i956[1], 0)=TRUE<(i956[1], i3[1])=TRUELOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])≥NonInfC∧LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])≥COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])∧(UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (i956[1] ≥ 0∧i1058[1] + [-1] ≥ 0∧i956[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i956[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i3[1] + [(-1)bni_32]i956[1] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (i956[1] ≥ 0∧i1058[1] + [-1] ≥ 0∧i956[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i956[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i3[1] + [(-1)bni_32]i956[1] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (i956[1] ≥ 0∧i1058[1] + [-1] ≥ 0∧i956[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i956[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i3[1] + [(-1)bni_32]i956[1] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (i956[1] ≥ 0∧i1058[1] + [-1] ≥ 0∧i956[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i956[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32] + [bni_32]i3[1] + [(-1)bni_32]i956[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (13)    ([1] + i956[1] ≥ 0∧i1058[1] + [-1] ≥ 0∧i956[1] ≥ 0∧i3[1] + [-2] + [-1]i956[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i3[1] + [(-1)bni_32]i956[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    ([1] + i956[1] ≥ 0∧i1058[1] ≥ 0∧i956[1] ≥ 0∧i3[1] + [-2] + [-1]i956[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i3[1] + [(-1)bni_32]i956[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([1] + i956[1] ≥ 0∧i1058[1] ≥ 0∧i956[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i3[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)







For Pair COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → INC26629(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), i1058) the following chains were created:
  • We consider the chain COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2]) which results in the following constraint:

    (16)    (COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2])≥NonInfC∧COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2])≥INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])∧(UIncreasing(INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])), ≥))



    We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (17)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])), ≥)∧[(-1)bso_35] ≥ 0)



    We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (18)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])), ≥)∧[(-1)bso_35] ≥ 0)



    We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (19)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])), ≥)∧[(-1)bso_35] ≥ 0)



    We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (20)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair JMP26698'(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → INC26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) the following chains were created:
  • We consider the chain JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]) → INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]), INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1)) which results in the following constraint:

    (21)    (i1148[3]=i1148[7]i3[3]=i3[7]a5220data[3]=a5220data[7]i1058[3]=i1058[7]JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])≥NonInfC∧JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])≥INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])∧(UIncreasing(INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])), ≥))



    We simplified constraint (21) using rule (IV) which results in the following new constraint:

    (22)    (JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])≥NonInfC∧JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])≥INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])∧(UIncreasing(INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])), ≥))



    We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (23)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])), ≥)∧[(-1)bso_37] ≥ 0)



    We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (24)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])), ≥)∧[(-1)bso_37] ≥ 0)



    We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (25)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])), ≥)∧[(-1)bso_37] ≥ 0)



    We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (26)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) the following chains were created:
  • We consider the chain LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4]) → LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4]))) which results in the following constraint:

    (27)    (LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4])≥NonInfC∧LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4])≥LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))∧(UIncreasing(LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))), ≥))



    We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (28)    ((UIncreasing(LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (29)    ((UIncreasing(LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (30)    ((UIncreasing(LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (31)    ((UIncreasing(LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair LOAD15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194, 0), >(i956, 0)), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) the following chains were created:
  • We consider the chain LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))) → COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))), COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6]))) → INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6]) which results in the following constraint:

    (32)    (i956[5]=i956[6]i3[5]=i3[6]a5220data[5]=a5220data[6]i1058[5]=i1058[6]i1194[5]=i1194[6]i1164[5]=i1164[6]i1166[5]=i1166[6]a6102[5]=a6102[6]&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0))=TRUELOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))≥NonInfC∧LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))≥COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))∧(UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥))



    We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (33)    (>(+(i956[5], 1), 0)=TRUE>(i1058[5], 0)=TRUE<(i956[5], i3[5])=TRUE>(i1194[5], 0)=TRUE>(i956[5], 0)=TRUELOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))≥NonInfC∧LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))≥COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))∧(UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥))



    We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (34)    (i956[5] ≥ 0∧i1058[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i956[5] ≥ 0∧i1194[5] + [-1] ≥ 0∧i956[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i3[5] + [(-1)bni_40]i956[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (35)    (i956[5] ≥ 0∧i1058[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i956[5] ≥ 0∧i1194[5] + [-1] ≥ 0∧i956[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i3[5] + [(-1)bni_40]i956[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (36)    (i956[5] ≥ 0∧i1058[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i956[5] ≥ 0∧i1194[5] + [-1] ≥ 0∧i956[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i3[5] + [(-1)bni_40]i956[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (37)    (i956[5] ≥ 0∧i1058[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i956[5] ≥ 0∧i1194[5] + [-1] ≥ 0∧i956[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i3[5] + [(-1)bni_40]i956[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (38)    ([1] + i956[5] ≥ 0∧i1058[5] + [-1] ≥ 0∧i3[5] + [-2] + [-1]i956[5] ≥ 0∧i1194[5] + [-1] ≥ 0∧i956[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i3[5] + [(-1)bni_40]i956[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (39)    ([1] + i956[5] ≥ 0∧i1058[5] ≥ 0∧i3[5] + [-2] + [-1]i956[5] ≥ 0∧i1194[5] + [-1] ≥ 0∧i956[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i3[5] + [(-1)bni_40]i956[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (40)    ([1] + i956[5] ≥ 0∧i1058[5] ≥ 0∧i3[5] ≥ 0∧i1194[5] + [-1] ≥ 0∧i956[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (41)    ([1] + i956[5] ≥ 0∧i1058[5] ≥ 0∧i3[5] ≥ 0∧i1194[5] ≥ 0∧i956[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)







For Pair COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → INC26629(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), i1058) the following chains were created:
  • We consider the chain COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6]))) → INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6]) which results in the following constraint:

    (42)    (COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6])))≥NonInfC∧COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6])))≥INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])∧(UIncreasing(INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])), ≥))



    We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (43)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)



    We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (44)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)



    We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (45)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)



    We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (46)    ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)







For Pair INC26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, +(i1058, -1)) the following chains were created:
  • We consider the chain INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1)) which results in the following constraint:

    (47)    (INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7])≥NonInfC∧INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7])≥LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))∧(UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))), ≥))



    We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (48)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)



    We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (49)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)



    We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (50)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)



    We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (51)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)







For Pair LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) the following chains were created:
  • We consider the chain LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8]) → LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8]), LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) which results in the following constraint:

    (52)    (i956[8]=i956[9]i1058[8]=i1058[9]i3[8]=i3[9]a5220data[8]=a5220data[9]LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])≥NonInfC∧LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])≥LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])∧(UIncreasing(LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])), ≥))



    We simplified constraint (52) using rule (IV) which results in the following new constraint:

    (53)    (LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])≥NonInfC∧LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])≥LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])∧(UIncreasing(LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])), ≥))



    We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (54)    ((UIncreasing(LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)



    We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (55)    ((UIncreasing(LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)



    We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (56)    ((UIncreasing(LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)



    We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (57)    ((UIncreasing(LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)







For Pair LOAD15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → COND_LOAD15465ARR3(&&(&&(&&(>(i956, 0), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) the following chains were created:
  • We consider the chain LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]), COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1)) which results in the following constraint:

    (58)    (i956[9]=i956[10]i1058[9]=i1058[10]i3[9]=i3[10]a5220data[9]=a5220data[10]&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0))=TRUELOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])≥NonInfC∧LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])≥COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])∧(UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥))



    We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (59)    (>(+(i956[9], 1), 0)=TRUE>(i1058[9], 0)=TRUE>(i956[9], 0)=TRUE<(i956[9], i3[9])=TRUELOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])≥NonInfC∧LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])≥COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])∧(UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥))



    We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (60)    (i956[9] ≥ 0∧i1058[9] + [-1] ≥ 0∧i956[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i956[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i956[9] + [bni_48]i3[9] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (61)    (i956[9] ≥ 0∧i1058[9] + [-1] ≥ 0∧i956[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i956[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i956[9] + [bni_48]i3[9] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (62)    (i956[9] ≥ 0∧i1058[9] + [-1] ≥ 0∧i956[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i956[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i956[9] + [bni_48]i3[9] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (63)    (i956[9] ≥ 0∧i1058[9] + [-1] ≥ 0∧i956[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i956[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48] + [(-1)bni_48]i956[9] + [bni_48]i3[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (64)    ([1] + i956[9] ≥ 0∧i1058[9] + [-1] ≥ 0∧i956[9] ≥ 0∧i3[9] + [-2] + [-1]i956[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i956[9] + [bni_48]i3[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (65)    ([1] + i956[9] ≥ 0∧i1058[9] ≥ 0∧i956[9] ≥ 0∧i3[9] + [-2] + [-1]i956[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i956[9] + [bni_48]i3[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (66)    ([1] + i956[9] ≥ 0∧i1058[9] ≥ 0∧i956[9] ≥ 0∧i3[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i3[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), +(i1058, -1)) the following chains were created:
  • We consider the chain COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1)) which results in the following constraint:

    (67)    (COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10])≥NonInfC∧COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10])≥LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))∧(UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))), ≥))



    We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (68)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)



    We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (69)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)



    We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (70)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)



    We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (71)    ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) the following chains were created:
  • We consider the chain LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11]) → LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11]))) which results in the following constraint:

    (72)    (LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11])≥NonInfC∧LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11])≥LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))∧(UIncreasing(LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))), ≥))



    We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (73)    ((UIncreasing(LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))), ≥)∧[(-1)bso_53] ≥ 0)



    We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (74)    ((UIncreasing(LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))), ≥)∧[(-1)bso_53] ≥ 0)



    We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (75)    ((UIncreasing(LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))), ≥)∧[(-1)bso_53] ≥ 0)



    We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (76)    ((UIncreasing(LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)







For Pair LOAD15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194, 0), >(i956, 0)), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) the following chains were created:
  • We consider the chain LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))) → COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))), COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13]))) → JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13]) which results in the following constraint:

    (77)    (i1194[12]=i1194[13]i1164[12]=i1164[13]i1166[12]=i1166[13]a6102[12]=a6102[13]i3[12]=i3[13]a5220data[12]=a5220data[13]&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0))=TRUEi956[12]=i956[13]i1058[12]=i1058[13]LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))≥NonInfC∧LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))≥COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))∧(UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥))



    We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (78)    (>(+(i956[12], 1), 0)=TRUE>(i1058[12], 0)=TRUE<(i956[12], i3[12])=TRUE>(i1194[12], 0)=TRUE>(i956[12], 0)=TRUELOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))≥NonInfC∧LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))≥COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))∧(UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥))



    We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (79)    (i956[12] ≥ 0∧i1058[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i956[12] ≥ 0∧i1194[12] + [-1] ≥ 0∧i956[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i956[12] + [bni_54]i3[12] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (80)    (i956[12] ≥ 0∧i1058[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i956[12] ≥ 0∧i1194[12] + [-1] ≥ 0∧i956[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i956[12] + [bni_54]i3[12] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (81)    (i956[12] ≥ 0∧i1058[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i956[12] ≥ 0∧i1194[12] + [-1] ≥ 0∧i956[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i956[12] + [bni_54]i3[12] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (82)    (i956[12] ≥ 0∧i1058[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i956[12] ≥ 0∧i1194[12] + [-1] ≥ 0∧i956[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i956[12] + [bni_54]i3[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (83)    ([1] + i956[12] ≥ 0∧i1058[12] + [-1] ≥ 0∧i3[12] + [-2] + [-1]i956[12] ≥ 0∧i1194[12] + [-1] ≥ 0∧i956[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i956[12] + [bni_54]i3[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (84)    ([1] + i956[12] ≥ 0∧i1058[12] ≥ 0∧i3[12] + [-2] + [-1]i956[12] ≥ 0∧i1194[12] + [-1] ≥ 0∧i956[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i956[12] + [bni_54]i3[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (85)    ([1] + i956[12] ≥ 0∧i1058[12] ≥ 0∧i3[12] ≥ 0∧i1194[12] + [-1] ≥ 0∧i956[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i3[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (86)    ([1] + i956[12] ≥ 0∧i1058[12] ≥ 0∧i3[12] ≥ 0∧i1194[12] ≥ 0∧i956[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i3[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP26698'(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), i1058) the following chains were created:
  • We consider the chain COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13]))) → JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13]) which results in the following constraint:

    (87)    (COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13])))≥NonInfC∧COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13])))≥JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])∧(UIncreasing(JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])), ≥))



    We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (88)    ((UIncreasing(JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)



    We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (89)    ((UIncreasing(JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)



    We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (90)    ((UIncreasing(JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)



    We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (91)    ((UIncreasing(JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
    • ((UIncreasing(LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)

  • LOAD15465ARR1(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → COND_LOAD15465ARR1(&&(&&(&&(>(i956, 0), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
    • ([1] + i956[1] ≥ 0∧i1058[1] ≥ 0∧i956[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i3[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)

  • COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → INC26629(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), i1058)
    • ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • JMP26698'(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → INC26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058)
    • ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
    • ((UIncreasing(LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • LOAD15465ARR2(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194, 0), >(i956, 0)), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
    • ([1] + i956[5] ≥ 0∧i1058[5] ≥ 0∧i3[5] ≥ 0∧i1194[5] ≥ 0∧i956[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)

  • COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → INC26629(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), i1058)
    • ((UIncreasing(INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)

  • INC26629(java.lang.Object(ARRAY(i3, a5220data)), i1148, i1058) → LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i1148, +(i1058, -1))
    • ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)

  • LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
    • ((UIncreasing(LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)

  • LOAD15465ARR3(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → COND_LOAD15465ARR3(&&(&&(&&(>(i956, 0), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058)
    • ([1] + i956[9] ≥ 0∧i1058[9] ≥ 0∧i956[9] ≥ 0∧i3[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i3[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), +(i1058, -1))
    • ((UIncreasing(LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)

  • LOAD15465(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058) → LOAD15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
    • ((UIncreasing(LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)

  • LOAD15465ARR5(java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194, 0), >(i956, 0)), <(i956, i3)), >(i1058, 0)), >(+(i956, 1), 0)), java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102)))
    • ([1] + i956[12] ≥ 0∧i1058[12] ≥ 0∧i3[12] ≥ 0∧i1194[12] ≥ 0∧i956[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i3[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)

  • COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3, a5220data)), i956, i1058, java.lang.Object(java.lang.String(i1194, i1164, i1166, a6102))) → JMP26698'(java.lang.Object(ARRAY(i3, a5220data)), +(i956, 1), i1058)
    • ((UIncreasing(JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD15465(x1, x2, x3)) = [-1]x1 + [-1]x2   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [-1] + [-1]x1   
POL(LOAD15465ARR1(x1, x2, x3)) = [-1] + [-1]x1 + [-1]x2   
POL(COND_LOAD15465ARR1(x1, x2, x3, x4)) = [-1] + [-1]x2 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(INC26629(x1, x2, x3)) = [-1]x2 + [-1]x1   
POL(JMP26698'(x1, x2, x3)) = [-1]x2 + [-1]x1   
POL(LOAD15465ARR2(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x1 + [-1]x2   
POL(java.lang.String(x1, x2, x3, x4)) = [-1]   
POL(COND_LOAD15465ARR2(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x2 + [-1]x3   
POL(-1) = [-1]   
POL(LOAD15465ARR3(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1   
POL(COND_LOAD15465ARR3(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2   
POL(LOAD15465ARR5(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2 + [-1]x1   
POL(COND_LOAD15465ARR5(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x3 + [-1]x2   

The following pairs are in P>:

LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0]) → LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])
COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6]))) → INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), +(i956[6], 1), i1058[6])
LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8]) → LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])
COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13]))) → JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), +(i956[13], 1), i1058[13])

The following pairs are in Pbound:

LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])
LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))) → COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))
LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])
LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))) → COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))

The following pairs are in P:

LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(&&(&&(&&(>(i956[1], 0), <(i956[1], i3[1])), >(i1058[1], 0)), >(+(i956[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])
COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), +(i956[2], 1), i1058[2])
JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]) → INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])
LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4]) → LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))
LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))) → COND_LOAD15465ARR2(&&(&&(&&(&&(>(i1194[5], 0), >(i956[5], 0)), <(i956[5], i3[5])), >(i1058[5], 0)), >(+(i956[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))
INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], +(i1058[7], -1))
LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(&&(&&(&&(>(i956[9], 0), <(i956[9], i3[9])), >(i1058[9], 0)), >(+(i956[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])
COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), +(i956[10], 1), +(i1058[10], -1))
LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11]) → LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))
LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))) → COND_LOAD15465ARR5(&&(&&(&&(&&(>(i1194[12], 0), >(i956[12], 0)), <(i956[12], i3[12])), >(i1058[12], 0)), >(+(i956[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))

There are no usable rules.

(60) Complex Obligation (AND)

(61) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(1): LOAD15465ARR1(java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1]) → COND_LOAD15465ARR1(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0, java.lang.Object(ARRAY(i3[1], a5220data[1])), i956[1], i1058[1])
(2): COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2] + 1, i1058[2])
(3): JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]) → INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])
(4): LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4]) → LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))
(5): LOAD15465ARR2(java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5]))) → COND_LOAD15465ARR2(i1194[5] > 0 && i956[5] > 0 && i956[5] < i3[5] && i1058[5] > 0 && i956[5] + 1 > 0, java.lang.Object(ARRAY(i3[5], a5220data[5])), i956[5], i1058[5], java.lang.Object(java.lang.String(i1194[5], i1164[5], i1166[5], a6102[5])))
(7): INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7] + -1)
(9): LOAD15465ARR3(java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9]) → COND_LOAD15465ARR3(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0, java.lang.Object(ARRAY(i3[9], a5220data[9])), i956[9], i1058[9])
(10): COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10] + 1, i1058[10] + -1)
(11): LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11]) → LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))
(12): LOAD15465ARR5(java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12]))) → COND_LOAD15465ARR5(i1194[12] > 0 && i956[12] > 0 && i956[12] < i3[12] && i1058[12] > 0 && i956[12] + 1 > 0, java.lang.Object(ARRAY(i3[12], a5220data[12])), i956[12], i1058[12], java.lang.Object(java.lang.String(i1194[12], i1164[12], i1166[12], a6102[12])))

(1) -> (2), if ((i956[1]* i956[2])∧((i3[1]* i3[2])∧(a5220data[1]* a5220data[2]))∧(i1058[1]* i1058[2])∧(i956[1] > 0 && i956[1] < i3[1] && i1058[1] > 0 && i956[1] + 1 > 0* TRUE))


(7) -> (4), if ((i1058[7] + -1* i1058[4])∧(i1148[7]* i956[4])∧((i3[7]* i3[4])∧(a5220data[7]* a5220data[4])))


(10) -> (4), if ((i956[10] + 1* i956[4])∧((i3[10]* i3[4])∧(a5220data[10]* a5220data[4]))∧(i1058[10] + -1* i1058[4]))


(4) -> (5), if ((i1058[4]* i1058[5])∧(i956[4]* i956[5])∧((i1194[4]* i1194[5])∧(i1164[4]* i1164[5])∧(i1166[4]* i1166[5])∧(a6102[4]* a6102[5]))∧((i3[4]* i3[5])∧(a5220data[4]* a5220data[5])))


(2) -> (7), if (((i3[2]* i3[7])∧(a5220data[2]* a5220data[7]))∧(i956[2] + 1* i1148[7])∧(i1058[2]* i1058[7]))


(3) -> (7), if ((i1148[3]* i1148[7])∧((i3[3]* i3[7])∧(a5220data[3]* a5220data[7]))∧(i1058[3]* i1058[7]))


(9) -> (10), if ((i956[9]* i956[10])∧(i1058[9]* i1058[10])∧((i3[9]* i3[10])∧(a5220data[9]* a5220data[10]))∧(i956[9] > 0 && i956[9] < i3[9] && i1058[9] > 0 && i956[9] + 1 > 0* TRUE))


(7) -> (11), if (((i3[7]* i3[11])∧(a5220data[7]* a5220data[11]))∧(i1148[7]* i956[11])∧(i1058[7] + -1* i1058[11]))


(10) -> (11), if ((i956[10] + 1* i956[11])∧((i3[10]* i3[11])∧(a5220data[10]* a5220data[11]))∧(i1058[10] + -1* i1058[11]))


(11) -> (12), if (((i3[11]* i3[12])∧(a5220data[11]* a5220data[12]))∧(i956[11]* i956[12])∧(i1058[11]* i1058[12])∧((i1194[11]* i1194[12])∧(i1164[11]* i1164[12])∧(i1166[11]* i1166[12])∧(a6102[11]* a6102[12])))



The set Q consists of the following terms:
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(62) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.

(63) TRUE

(64) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD15465(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0]) → LOAD15465ARR1(java.lang.Object(ARRAY(i3[0], a5220data[0])), i956[0], i1058[0])
(2): COND_LOAD15465ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2], i1058[2]) → INC26629(java.lang.Object(ARRAY(i3[2], a5220data[2])), i956[2] + 1, i1058[2])
(3): JMP26698'(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3]) → INC26629(java.lang.Object(ARRAY(i3[3], a5220data[3])), i1148[3], i1058[3])
(4): LOAD15465(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4]) → LOAD15465ARR2(java.lang.Object(ARRAY(i3[4], a5220data[4])), i956[4], i1058[4], java.lang.Object(java.lang.String(i1194[4], i1164[4], i1166[4], a6102[4])))
(6): COND_LOAD15465ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6], i1058[6], java.lang.Object(java.lang.String(i1194[6], i1164[6], i1166[6], a6102[6]))) → INC26629(java.lang.Object(ARRAY(i3[6], a5220data[6])), i956[6] + 1, i1058[6])
(7): INC26629(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7]) → LOAD15465(java.lang.Object(ARRAY(i3[7], a5220data[7])), i1148[7], i1058[7] + -1)
(8): LOAD15465(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8]) → LOAD15465ARR3(java.lang.Object(ARRAY(i3[8], a5220data[8])), i956[8], i1058[8])
(10): COND_LOAD15465ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10], i1058[10]) → LOAD15465(java.lang.Object(ARRAY(i3[10], a5220data[10])), i956[10] + 1, i1058[10] + -1)
(11): LOAD15465(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11]) → LOAD15465ARR5(java.lang.Object(ARRAY(i3[11], a5220data[11])), i956[11], i1058[11], java.lang.Object(java.lang.String(i1194[11], i1164[11], i1166[11], a6102[11])))
(13): COND_LOAD15465ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13], i1058[13], java.lang.Object(java.lang.String(i1194[13], i1164[13], i1166[13], a6102[13]))) → JMP26698'(java.lang.Object(ARRAY(i3[13], a5220data[13])), i956[13] + 1, i1058[13])

(7) -> (0), if (((i3[7]* i3[0])∧(a5220data[7]* a5220data[0]))∧(i1058[7] + -1* i1058[0])∧(i1148[7]* i956[0]))


(10) -> (0), if (((i3[10]* i3[0])∧(a5220data[10]* a5220data[0]))∧(i1058[10] + -1* i1058[0])∧(i956[10] + 1* i956[0]))


(13) -> (3), if ((i956[13] + 1* i1148[3])∧((i3[13]* i3[3])∧(a5220data[13]* a5220data[3]))∧(i1058[13]* i1058[3]))


(7) -> (4), if ((i1058[7] + -1* i1058[4])∧(i1148[7]* i956[4])∧((i3[7]* i3[4])∧(a5220data[7]* a5220data[4])))


(10) -> (4), if ((i956[10] + 1* i956[4])∧((i3[10]* i3[4])∧(a5220data[10]* a5220data[4]))∧(i1058[10] + -1* i1058[4]))


(2) -> (7), if (((i3[2]* i3[7])∧(a5220data[2]* a5220data[7]))∧(i956[2] + 1* i1148[7])∧(i1058[2]* i1058[7]))


(3) -> (7), if ((i1148[3]* i1148[7])∧((i3[3]* i3[7])∧(a5220data[3]* a5220data[7]))∧(i1058[3]* i1058[7]))


(6) -> (7), if ((i1058[6]* i1058[7])∧((i3[6]* i3[7])∧(a5220data[6]* a5220data[7]))∧(i956[6] + 1* i1148[7]))


(7) -> (8), if ((i1058[7] + -1* i1058[8])∧((i3[7]* i3[8])∧(a5220data[7]* a5220data[8]))∧(i1148[7]* i956[8]))


(10) -> (8), if ((i956[10] + 1* i956[8])∧(i1058[10] + -1* i1058[8])∧((i3[10]* i3[8])∧(a5220data[10]* a5220data[8])))


(7) -> (11), if (((i3[7]* i3[11])∧(a5220data[7]* a5220data[11]))∧(i1148[7]* i956[11])∧(i1058[7] + -1* i1058[11]))


(10) -> (11), if ((i956[10] + 1* i956[11])∧((i3[10]* i3[11])∧(a5220data[10]* a5220data[11]))∧(i1058[10] + -1* i1058[11]))



The set Q consists of the following terms:
Load15465(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26698(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc26629(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15465ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15465ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15465ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(65) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.

(66) TRUE